Как создать виртуального пользователя ftp с заданным паролем, используя ftpasswd и bash

Здравствуйте, гуру командной строки, я создал пользователя 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
задан 3 September 2013 в 21:25

1 ответ

Я предлагаю, чтобы Вы использовали:

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 опция не позволяет паролям быть переданными сценарию на командной строке, но на stdin. Это сделано как меры безопасности: стандартный Unix ps команда может использоваться для показа всех процессов, работающих на системе включая их параметры командной строки. Это означает, что любой пользователь мог использовать ps наблюдать пароли, данные ftpasswd, если те пароли должны были быть переданы командной строке.

Больше о:

8
ответ дан 3 September 2013 в 21:25

Другие вопросы по тегам:

Похожие вопросы: