用于设置 FTP 的 Bash 脚本

用于设置 FTP 的 Bash 脚本

是否有可能/有任何建议编写一个 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

编辑 :不幸的是,passwdUbuntu 中的命令不支持该--stdin标志(至少根据本手册页),因此您必须选择以下chpasswd选项:

sudo useradd -d /ftp-files/$1 -m $1
echo "$1:$2" | sudo chpasswd

答案2

我想说你可能想使用chpasswd而不是passwd。手册页为你提供了所有必要的详细信息。还有一篇有趣的文章为什么这是个坏主意

相关内容