Как изменить пароль в Linux (команда passwd)

В этой статье я объясню, как пользователь или суперпользователь (root) может изменить пароль в Linux. Passwd — это команда, используемая в Linux (Redhat, Centos, Ubuntu, Debian, Fedora) и UNIX-подобных операционных системах для смены пароля.

Когда мы запускаем команду passwd, мы открываем файл /etc/shadow там хранится зашифрованный пароль пользователя.

Обычному пользователю (не являющемуся пользователем root) будет разрешено только изменить свой пароль. А пользователи root или sudo могут менять пароль для любых учетных записей.

По соображениям безопасности всегда рекомендуется использовать надежный пароль и регулярно его менять.

Изменение пароля в Linux обычного пользователя

Как изменить пароль в Linux (команда passwd)
Как изменить пароль в Linux (команда passwd)

Если команда passwd выполняется пользователем, не являющимся пользователем root, то он запросит текущий пароль, а затем установит новый пароль этого пользователя. Суперпользователь может сбросить пароль для любого пользователя, включая суперпользователя, не зная текущего пароля.

Если команда passwd вызвана пользователем, не являющимся пользователем root, вы должны сначала указать существующий пароль, прежде чем приступать к его изменению. Пароль должен быть введен дважды, и он не отображается на экране при вводе.

Например:

$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Вы также не можете указывать простые слова в качестве паролей. Команда Passwd проверит, насколько длинным и сложным является ваш пароль. В следующем примере используется простой пароль на основе словаря.

$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password
Enter new UNIX password:
Retype new UNIX password:
Bad: new password is too simple
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Изменение пароля от имени суперпользователя (root) в Linux

Любой пользователь системы может изменить только свой пароль. Команда passwd не принимает никаких аргументов, когда она выполняется от имени обычного пользователя.

Но если вы войдете как root, тогда вы можете изменить и сбросить пароль любого пользователя в системе.

Синтаксис команды выглядит следующим образом:

# passwd [options] [user_name]

Различные варианты, которые можно использовать:

Options:
-a, --all сообщить о состоянии пароля для всех учетных записей
-d, --delete удалить пароль для учетной записи
-e, --expire принудительно истечет срок действия пароля для именованной учетной записи
-h, --help отобразить справку по команде
-k, --keep- токены меняют пароль только в случае истечения срока действия
-i, --inactive НЕАКТИВНЫЙ установленный пароль неактивен по истечении срока действии
-l, --lock блокировать пароль для учетной записи
-n, --mindays установите минимальное количество дней до смены пароля
-q, --quiet тихий режим
-r, --repository измените пароль в РЕПОЗИТОРИИ РЕПОЗИТОРИЯ
-R, --root Каталог CHROOT_DIR для chroot
-S, --status сообщите о состоянии пароля для учетной записи
-u, --unlock разблокируйте пароль определенной учетной записи
-w, --warndays WARN_DAYS установка предупреждения об истечении срока действия пароля
-x, --maxdays MAX_DAYS установка максимального количество дней до ввода пароля

Когда пользователь root запускает команду passwd, он сбрасывает пароль пользователя root по умолчанию. А если вы укажете имя пользователя после команды passwd, то он изменит пароль этого пользователя.

Вот небольшой пример:

# passwd User1
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#

Пользователь Root может устанавливать простые пароли. Отобразится предупреждение, но пароль все равно успешно изменится. Пароль системного пользователя хранится в зашифрованном виде в файле /etc/shadow.

Отображение Информации о Состоянии Пароля в Linux

Чтобы отобразить информацию о состоянии пароля нужного пользователя, используйте опцию -S в команде passwd. Ниже приведен пример использования параметра -S.

# passwd -S USER1
vagrant P 07/02/2019 0 99999 7 -1
#

Первое поле показывает имя пользователя, второе поле показывает статус пароля ( PS = Пароль установлен , LK = Пароль заблокирован , NP = Пароля нет ), третье поле показывает, когда пароль был изменен в последний раз, а последнее и четвертое поля показывает возраст, максимальный возраст, период предупреждения и период бездействия для пароля.

Для отображения статуса всех паролей пользователей в системе мы будем использовать параметр -Sa:

# passwd -Sa
root P 05/14/2019 0 99999 7 -1
daemon L 05/14/2019 0 99999 7 -1
bin L 05/14/2019 0 99999 7 -1
sys L 05/14/2019 0 99999 7 -1
sync L 05/14/2019 0 99999 7 -1
games L 05/14/2019 0 99999 7 -1
man L 05/14/2019 0 99999 7 -1
lp L 05/14/2019 0 99999 7 -1
mail L 05/14/2019 0 99999 7 -1
news L 05/14/2019 0 99999 7 -1
uucp L 05/14/2019 0 99999 7 -1
proxy L 05/14/2019 0 99999 7 -1
www-data L 05/14/2019 0 99999 7 -1
backup L 05/14/2019 0 99999 7 -1

Удаление пароля Пользователя в Linux

Чтобы удалить пароль нужного пользователя, мы будем использовать опцию -d в командной строке:

# passwd -d test
passwd: password expiry information changed.
# passwd -S test
test NP 07/02/2019 0 99999 7 -1

Примечание: Опция -d сделает пароль пользователя пустым и отключит учетную запись пользователя.

Установка Срока Действия Пароля в Linux

Чтобы срок действия пароля пользователя истек и заставить этого пользователя изменить пароль при следующем входе в систему, используйте опцию-e в команде passwd.

# passwd -e test
passwd: password expiry information changed.
# passwd -S test
test NP 01/01/1970 0 99999 7 -1

Блокировка и разблокировка пароля пользователя в системе Linux

Чтобы заблокировать пароль пользователя, используйте опцию -l в команде passwd.

Примечание:  Пользователь не может изменить свой пароль, если его/ее пароль заблокирован.

# passwd -l test
passwd: password expiry information changed.
# passwd -S test
test L 07/03/2019 0 99999 7 -1

Чтобы разблокировать пароль пользователя, используйте опцию -u:

# passwd -u test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 -1

Установка неактивных дней с помощью опции -i

Когда срок действия пароля выбранного пользователя истек и пользователь не изменил свой пароль в течение n дней (т. е. 10 дней). После этого пользователь не сможет войти в систему.

# passwd -i 10 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 10

Установка предупреждающего сообщения до истечения срока действия пароля

Опция -w используется для установки предупреждающего сообщения. Это означает, что пользователь будет предупрежден за n дней до истечения срока действия его пароля.

# passwd -w 5 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 5 10

Установка дней для смены пароля

В приведенном ниже примере тестовый пользователь должен сменить пароль в течение 30 дней. Значение, равное нулю, показывает, что пользователь может изменить свой пароль в любое время.

# passwd -n 30 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 30 99999 5 10

Заключение

В этой статье мы показали, как изменить пароль пользователя в Linux. Для получения дополнительной информации ознакомьтесь со справкой команды passwd. Спасибо, что прочитали эту статью.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.

  1. Иван

    Спасибо за подробное описание passwd. Без воды все по факту.

    Ответить