请注意,我是一个完全的 linux 新手,在回答这个问题时请记住这一点,因为我对 linux 的了解非常有限。
操作系统: Debian 挤压
我正在使用 ZSH 并创建了一个名为webuseradd
它的函数,如下所示:
function webuseradd () {
echo creating user $1;
mkdir /usr/share/nginx/$1;
# sshlogin is required to allow user to ssh and sftp
sudo useradd -G lshell,sshlogin -b /usr/share/nginx/$1/home -d /usr/share/nginx/$1/home -m --skel /etc/httpskel -K UMASK=027 $1;
# /usr/share/nginx/$1 will be the chroot so set it to root
sudo chown root:root /usr/share/nginx/$1;
sudo su - $1;
mkdir /usr/share/nginx/$1/home/.ssh;
ssh-keygen -t rsa;
exit;
# force the user into a limited, jailed shell
sudo chsh -s /usr/bin/lshell $1;
}
但是,如果我称之为它,我得到的输出:
$ webuseradd test
creating user test
No directory, logging in with HOME=/
用户创建得很好,但是当我尝试su
进入用户时出现问题。如果我exit
脚本然后继续以下输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
如何确保创建密钥并将其放置在具有正确权限的正确位置?我确信我所做的其他一些事情是不可取的,所以如果你发现任何事情,请说。