Иногда системный администратор должен установить новый пароль пользователю. Как это сделать? Можно воспользоваться двумя возможностями: установка пароля через утилиту chpasswd или через утилиту passwd.
Проблема в том, что традиционное использование утилит установки пароля в Linux интерактивно: предполагается, что после запуска утилита спросит пароль пользователя, и даже сделает это два раза. Однако такое взаимодействие с пользователем мешает автоматизации.
Здесь рассказывается о том, как установить пароль неинтерактивно, т. е. через команду. Здесь показано решение, которое можно применять в скриптах. Такое решение часто необходимо системным администраторам чтобы автоматизировать свою работу.
Установка пароля через chpasswd
Синтаксис установки пароля следующий:
echo user:12345678 | chpasswd
Здесь user - это имя пользователя, 12345678 - это пароль. Проблема данной утилиты в том, что в некоторых системах данная утилита не позволит задать слишком простой пароль. Поэтому администратор не сможет создать какого-нибудь пользователя-заглушку с простым паролем. Утилита будет упорно выдавать предупреждения вида:
НЕУДАЧНЫЙ ПАРОЛЬ: слишком короткий
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
... и завершать свою работу. И таким образом получается, что через chpasswd можно устанавливать пароли, но не все.
Установка пароля через passwd
Утилита passwd, в отличие от chpasswd, позволяет установить пользователю любой требуемый пароль. Делается это следующей командой:
yes 12345678 | passwd user
Здесь 12345678 - это пароль пользователя, а user - это имя пользователя.
Если пароль слишком сложный или слишком короткий, то в выхлопе данной команды будут видны предупреждения, однако нужный пароль все равно будет установлен. В разных операционных системах могут быть разные сообщения и предупреждения. Например, такие:
Новый пароль :
НЕУДАЧНЫЙ ПАРОЛЬ: СЛИШКОМ короткий
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
Повторите ввод нового пароля :
passwd: пароль успешно обновлён
Или такие:
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
В любом случае, вариант с использованием утилиты passwd хорош тем, что гарантированно установит любой пароль.