Поиск по сайту:

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

Разрешить пользователю изменять пароль некоторых других пользователей

В этом руководстве мы обсудим, как изменить пароль пользователя в Linux с помощью команды passwd из командной строки. Кроме того, мы также узнаем, как разрешить пользователю изменять пароли некоторых других пользователей с помощью sudo.

Что такое команда passwd?

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

Важные параметры команды passwd приведены ниже:

-d (--delete)

Удалите пароль пользователя, не удаляя пользователя.

-e (--expire)

Заставьте пользователя сменить пароль при следующем входе в систему.

-i (--inactive)

Определите количество дней после неактивности после истечения срока действия пароля и до блокировки учетной записи пользователя.

-l (--lock)

Блокировка учетной записи пользователя.

-u (--unlock)

Разблокируйте заблокированную учетную запись пользователя.

-n (--minimum)

Укажите количество дней, которое должно пройти, прежде чем пароль можно будет изменить.

-x (--maximum)

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

-S (--status)

Отображение информации о состоянии учетной записи пользователя.

-w (--warning)

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

Таблица – параметры команды passwd и их описание

В этом руководстве мы узнаем только об изменении пароля пользователя в Linux, поэтому для большинства вариантов мы пропускаем примеры. В ближайшее время мы опубликуем подробное руководство по примерам команд passwd в отдельном руководстве.

Изменить пароль пользователя с помощью команды passwd

Чтобы изменить пароль текущего пользователя, просто запустите команду passwd без каких-либо параметров, как показано ниже:

passwd

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

Changing password for user ostechnix.
Current password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

Изменить пароль пользователя с помощью команды passwd

Чтобы изменить пароли других пользователей, укажите целевое имя пользователя (например, sendhil) после команды passwd, как показано ниже:

sudo passwd senthil

Обратите внимание, что для изменения пароля пользователь должен быть либо root, либо членом группы sudo.

Разрешить пользователям изменять пароли некоторых других пользователей

В предыдущем разделе мы узнали, как изменить пароль текущего пользователя, а также как изменить пароли других пользователей с помощью команды passwd с помощью sudo или . >корневые разрешения.

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

Проще говоря, мы разрешим пользователю запускать команду passwd и запретим тому же пользователю запускать все остальные команды, даже с разрешением sudo.

Это очень полезно, когда учитель хочет изменить пароль для входа в систему своих учеников.

Позвольте мне показать вам пример.

Я собираюсь создать двух пользователей, а именно user1 и user2, в качестве пользователя root.

useradd user1
useradd user2

Установите пароль для вышеуказанных пользователей:

passwd user1
passwd user2

Теперь позволим пользователю 1 изменить пароль пользователя 2.

Для этого отредактируйте файл /etc/sudoers с помощью команды:

visudo

Добавьте следующую строку:

user1   ALL=NOPASSWD:   /usr/bin/passwd user2

Разрешить пользователям изменять пароли некоторых других пользователей

Убедитесь, что вы добавили правильный путь к команде passwd. Согласно приведенной выше строке, пользователь 1 может изменить пароль пользователя 2 с помощью команды passwd без пароля sudo. Сохраните файл и закройте его.

Давайте проверим, какие команды пользователь1 может запускать от имени пользователя root без пароля sudo:

sudo -lU user1

Пример вывода:

Matching Defaults entries for user1 on Almalinux8CT:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User user1 may run the following commands on Almalinux8CT:
    (root) NOPASSWD: /usr/bin/passwd user2

Список разрешенных команд для данного пользователя на текущем хосте

Как видите, пользователю 1 разрешено запускать на этом компьютере только команду passwd без пароля sudo.

Выйдите из сеанса пользователя root и снова войдите в систему как пользователь user1.

И выполните следующую команду, чтобы изменить пароль пользователя user2:

[user1@Almalinux8CT ~]$ sudo passwd user2

Пример вывода:

Changing password for user user2.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

Изменить пароль пользователя 2

Как я уже говорил, пользователь1 может выполнять только команду passwd, но не другие команды.

Попробуйте запустить любую другую команду с помощью sudo, кроме команды passwd:

[user1@Almalinux8CT ~]$ sudo dnf update

Вы получите ошибку, как показано ниже:

[sudo] password for user1:
Sorry, user user1 is not allowed to execute '/bin/dnf update' as root on Almalinux8CT.

Авторизация изменения паролей для нескольких пользователей через Sudo

В приведенном выше примере мы разрешили изменение пароля через sudo только для одного пользователя, то есть для пользователя user2 в нашем случае. Мы также можем разрешить пользователю изменить пароль для нескольких пользователей или группы пользователей.

Отредактируйте файл /etc/sudoers как root:

visudo

Добавьте путь к команде passwd вместе с именами пользователей, разделенными запятыми, как показано ниже:

user1   ALL=NOPASSWD:   /usr/bin/passwd user2, /usr/bin/passwd user3, /usr/bin/passwd user4

Согласно приведенной выше команде, пользователю 1 разрешено изменять пароли пользователя 2, пользователя 3 и пользователя 4.

Вы также можете разрешить пользователю изменить пароль группы пользователей (например, с пользователя user2 на user5) с помощью подстановочных знаков, как показано ниже:

user1   ALL=NOPASSWD:   /usr/bin/passwd user[2-5]

Чтобы разрешить изменение пароля для пользователей user00, user01, user02,....до user99, добавьте следующую строку:

user1   ALL=NOPASSWD:   /usr/bin/passwd user[0-9][0-9]

Связанное чтение:

  • Как запустить определенные команды без пароля Sudo в Linux

Заключение

Как видите, изменить пароль пользователя Linux не так уж и сложно. Мы можем легко изменить пароль пользователя в Linux с помощью команды passwd за пару секунд. Мы также можем разрешить пользователю менять ТОЛЬКО пароль другого пользователя или группы пользователей. Надеюсь, это было полезно.

Рекомендованное изображение — Pexels

Статьи по данной тематике