Можно ли / какие-либо рекомендации по написанию сценария оболочки для автоматизации процесса создания нового пользователя / пользователя ftp:
В настоящее время процесс:
sudo useradd -d /ftp-files/user-a -m user-a sudo passwd user-a
Проблема в том, что мне нужно вручную вводить пароли при появлении запроса:
Enter new UNIX password: [enter pwd] Retype new UNIX password: [enter pwd-same] passwd: password updated successfully
При большом количестве учетных записей на создание этого уходит очень много времени. Если бы я мог делать все это с помощью сценария, это было бы здорово .. Но можно ли вводить пароли на лету с помощью сценария bash?
Вы можете использовать что-то вроде:
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
Я бы сказал, что вы, вероятно, захотите использовать chpasswd
скорее, чем passwd
. На странице руководства вы найдете всю необходимую информацию. Также есть занимательное чтение почему это плохая идея.