web-dev-qa-db-ja.com

ftpasswdとbashを使用して、事前設定されたパスワードで仮想ftpユーザーを作成する方法

コマンドラインの達人、こんにちは。次のようなftpユーザーを作成しました。

ftpasswd --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

私がしたいのは、--stdinオプションを使用して、事前設定されたパスワードで同じユーザーを作成することです。私が使用する場合:

echo < passwd > | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

パスワードが設定されていないというメッセージが表示されました。

誰もが間違いを見ていますか?

ありがとうございました!

5
Josh

使用することをお勧めします:

passwd="your_password"
echo $passwd | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

または

ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false < passwd.txt

ここで、passwd.txtはパスワードを含むファイルです。

これらの理由:

[...] --stdinオプションはnotを使用して、コマンドラインで、ただしstdinでパスワードをスクリプトに渡すことができます。これはセキュリティ対策として行われます。標準のUnix psコマンドを使用して、コマンドラインパラメータを含むシステムで実行されているすべてのプロセスを表示できます。これは、すべてのユーザーがpsを使用してftpasswdに与えられたパスワードを監視できることを意味します。これらのパスワードがコマンドラインで渡される場合

詳細:

8
Radu Rădeanu