Как изменить пароли пользователям скриптов

В идеальном мире вы никогда не должны были бы изменить пароль, связанный с учетной записью пользователя без использования PASSWD, но бывают случаи, когда это полезно для таких вещей как сценарии.

Наивные попытки автоматизировать использование PASSWD не удастся, поэтому стандартный совет всегда использовать такой инструмент, как expect в интерактивном режиме назовут PASSWD двоичный файл.

Но есть и альтернативный подход, который является более разумным, который должен использовать usermod команду, чтобы изменить пароль.

Предположим, у вас есть учетная запись guest на вашей системе, и вы хотите установить пароль пользователя для OpenAccess. Вы можете сделать это, запустив:

# hash=$(echo openaccess | openssl passwd -1 -stdin)
# usermod --pass="$hash" guest


или можно объединить эти две строчки в одну целую и получится так:

# usermod -p $(echo openaccess | openssl passwd -1 -stdin) guest


Если локальный пользователь может видеть команды вы работаете на выходе «pc»,«top», "htop" или аналогичные, то это небезопасно, — но если вы создаете хэш удаленно, вероятно, будет достаточно безопасно.