Я хочу создать пользователя в человечности и если он изменяет свой пароль, я хочу изменить его пароль к чему-то после компьютерного перезапуска. Как я могу сделать это в человечности 18.04?
Поскольку г-н Shunz' ответ уже показывает, chpasswd
может использоваться для установки пароля пользователя, не будучи запрошенным подтверждение. Обычно, chpasswd
соглашения с паролями в виде открытого текста, но -e
переключатель говорит этому уже ожидать зашифрованные пароли вместо этого.
Предположим, мы хотим установить пароль пользователя rembo
кому: secret
.
Если это уже не установлено, установка mkpasswd
с
sudo apt install whois
Создайте зашифрованный SHA-512 пароля secret
и помещенный это вместе с именем пользователя в файле:
echo "rembo:$(mkpasswd -m SHA-512 secret)" > rembo.password
Файл rembo.password
будет выглядеть подобным
rembo:$6$S14xGVpG$J0jUOMMF9cd7/ld69bZbDHbw7BJ8nidLdVz.pdSywUX/H.Vlj8/c9KSo.1T3J1Rub8JktYjzwTqSF7bBldikG0
Выполненный chpasswd
как прежде, но на этот раз с -e
переключатель:
sudo chpasswd -e < rembo.password
Таким образом, Вы не должны хранить пароль в виде открытого текста в файле, но только зашифрованный.
Для изменения пароля из сценария можно использовать chpasswd
программа, с этим синтаксисом:
echo "username:averysecretpassword" | sudo chpasswd
Можно легко обернуть сценарий всеми необходимыми комбинациями пользователя/пароля и выполнить его в каждой перезагрузке, любом через a @reboot
cronjob, или самостоятельно systemd
сценарий или старое доброе /etc/rc.local
.
Удостоверьтесь, что защитили сценарий, как пароли будут в открытом тексте. Только root
должен смочь читать/выполнять его.