如何使用 ftpasswd 和 bash 使用预设密码创建虚拟 ftp 用户

Jos*_*osh 5 bash ftp password

你好命令行大师,我已经创建了一个这样的 ftp 用户:

ftpasswd --passwd --name webftp --uid 33 --home /var/www --shell /bin/false
Run Code Online (Sandbox Code Playgroud)

我喜欢做的是使用该--stdin选项创建具有预设密码的相同用户。如果我使用:

echo < passwd > | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false
Run Code Online (Sandbox Code Playgroud)

我收到一条消息,告诉我那里没有设置密码。

有没有人看到错误?

谢谢!

Rad*_*anu 8

我建议你使用:

passwd="your_password"
echo $passwd | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false
Run Code Online (Sandbox Code Playgroud)

或者

ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false < passwd.txt
Run Code Online (Sandbox Code Playgroud)

其中passwd.txt是包含密码的文件。

这些是因为:

[...]的--stdin选项并没有让密码传递到命令行脚本,但在标准输入。这是作为一种安全措施完成的:标准 Unixps命令可用于显示系统上运行的所有进程,包括它们的命令行参数。这意味着任何用户都可以ps用来监视提供给的密码ftpasswd如果这些密码要在命令行上传递的话

更多关于: