Вы ищущий что-то вроде этого:
# Allow members of group sudo to execute any command
username ALL = ALL, !/bin/sh, !/bin/bash, !/bin/tcsh, !/bin/csh, !/bin/ksh, !/bin/zsh, !/bin/su
Для команды Chapswd
. Вы сделаете что-то подобное:
echo 'pi:newpassword' | chpasswd # change user pi password to newpassword
Обратите внимание, что его необходимо запускать как root, по крайней мере, с конфигурацией PAM по умолчанию. Но, по-видимому, запустите как root, не проблема для сценария развертывания системы.
Кроме того, вы можете сделать несколько пользователей одновременно, подавая его несколько строк ввода.
Другая альтернатива - использовать команду Да
в вашем скрипте.
yes newpassword | passwd youruser
Это отправит NewPassword
в команду Passwd
youser
.
Следует упомянуть, что настройка / модификация паролей пользователей через скрипты могут представить риски безопасности и следует избегать по возможности.
Редактировать:
Этот ответ требует доступа root. Извиняюсь за то, что не упоминал это ранее. Это метод, который я использую при выполнении задач администрирования, которые требуют доступа к корню.