Я пытаюсь написать сценарий, который создает несколько пользователей из текстового файла, а затем добавить их в созданную мной группу, называемую «интернами». Я хочу установить пароль по умолчанию «AIST2330PASSWORD», а затем предложить пользователям сменить пароль при входе в систему. Теперь у меня есть код
for i in $(cat users.txt)
do
echo useradd -m -s /bin/bash -G interns $i
useradd -m -s /bin/bash -G interns $i
echo "AIST2330PASSWORD" | passwd --stdin $i
passwd -e $i
echo "User needs to chnage pw upon reentry"
done
Я получаю следующие ошибки:
paaswd: Permission denied.
User needs to change pw upon reentry
useradd -m -s /bin/bash -G interns hmccoy
'seradd: invalid user name 'hmccoy
passwd: unrecognized option '--stdin'
Что я делаю не так?
Вы получаете ошибку passwd: unrecognized option '--stdin'
, потому что нет такой опции как --stdin
для предоставления паролей с помощью passwd
команда через STDIN в Ubuntu.
Вы не можете передать пароли нев интерактивном режиме с помощью passwd
команда, в то время как в интерактивной оболочке passwd
использование STDIN для взятия пароля. Это только происходит для интерактивных операций при использовании процедур оболочки, таких как передача по каналу она не будет работать.
, Поскольку Вы надеетесь создавать пакетных пользователей с тем же паролем для всех, возможно, необходимо посмотреть newusers
команда, которая была бы точно достаточна в случае.