是否有可能/有任何建议编写一个 shell 脚本来自动执行创建新用户/ftp 用户的过程:
目前流程:
sudo useradd -d /ftp-files/user-a -m 用户-a sudo passwd 用户-a
问题是,当出现提示时,我需要手动输入密码:
输入新的 UNIX 密码:[输入密码] 重新输入新的 UNIX 密码:[输入 pwd-same] passwd:密码更新成功
由于需要生成大量帐户,这会非常耗时。如果我可以通过脚本完成所有操作,那就太好了。但是是否可以通过 bash 脚本即时输入密码?
答案1
您可以使用类似以下内容的方法:
sudo useradd -d /ftp-files/$1 -m $1
echo $2 | sudo passwd --stdin $1
然后像这样调用脚本:
./createuser <username> <password>
有关该--stdin
标志的更多信息,您可以查看man 1 passwd
。
编辑 :不幸的是,passwd
Ubuntu 中的命令不支持该--stdin
标志(至少根据本手册页),因此您必须选择以下chpasswd
选项:
sudo useradd -d /ftp-files/$1 -m $1
echo "$1:$2" | sudo chpasswd
答案2
我想说你可能想使用chpasswd
而不是passwd
。手册页为你提供了所有必要的详细信息。还有一篇有趣的文章为什么这是个坏主意。