Я пишу скрипт для добавления большого количества пользователей в систему. Частично это включает установку паролей по умолчанию для каждого пользователя. Как я могу установить пароли пользователей, не запрашивая пароль заранее?
К сожалению, passwd, похоже, не принимает аргумент, устанавливающий новый пароль для установки. Я использую Ubuntu 11.10.
usermod --password $(echo my_new_password | openssl passwd -1 -stdin) USERNAME
usermod --password $(openssl passwd -1 {password}) {username}
Вы должны посмотреть на
chpasswd
команду (если она доступна в вашем стиле linux):Или вы можете просмотреть файл userid: passwd для каждой учетной записи в отдельной строке.
Вот и все.
источник
Dockerfile
Вдохновленный идеей Эрика Смита, объединение
openssl passwd
иusermod -p
командование работали. Создайте хешированное значение пароля вместе со значением соли.Затем скопируйте зашифрованную строку в usermod. Обязательно оберните его одинарной кавычкой.
Проверьте это в теневом файле.
источник
Вы должны использовать устаревание пароля и настроить пользователей таким образом, чтобы они меняли свой пароль при первом входе в систему. Смотрите эту статью .
источник
у меня работает как на физическом хосте, так и в контейнере, для разных ОС (ubuntu xenial, bionic, debian9,10, centos75,76, coreos)
работает для некоторых ОС, но некоторые ОС, такие как debian9,10, будут показывать ошибку,
can not connect to /var/run/nscd/socket
так как они используют /etc/nsswitch.conf, чтобы определить, где хранится пароль.источник