В Linux команда passwd
используется для установления и изменения паролей учётных записей пользователей.
Пользователь root
имеет права на изменение пароля для любого пользователя в системе, в то время как обычный пользователь может изменить пароль только для своей собственной учётной записи.
Содержание
Синтаксис
passwd [опции] [имя_пользователя]
Опции
- -a, --all
- Показать состояние паролей всех учётных записей
- -d, --delete
- Удалить пароль заданной учётной записи
- -e, --expire
- Просрочить пароль заданной учётной записи
- -h, --help
- Показать данное сообщение и закончить работу
- -k, --keep-tokens
- Изменять пароль только с истёкшим сроком действия
- -i, --inactive НЕАКТИВНОСТЬ
- Установить неактивность пароля после истечения срока в значение НЕАКТИВНОСТЬ
- -l, --lock
- Заблокировать заданную учётную запись
- -n, --mindays МИН_ДНЕЙ
- Установить минимальное число дней перед сменой пароля в МИН_ДНЕЙ
- -q, --quiet
- Сократить количество выводимых сообщений
- -r, --repository РЕПОЗИТОРИЙ
- Изменить пароль в РЕПОЗИТОРИИ
- -R, --root КАТ_CHROOT
- Каталог, в который выполняется chroot
- -S, --status
- Показать состояние пароля заданной учётной записи
- -u, --unlock
- Разблокировать заданную учётную запись
- -w, --warndays ПРЕДУП_ДНЕЙ
- Установить количество дней с выдачей предупреждения в ПРЕДУП_ДНЕЙ
- -x, --maxdays МАКС_ДНЕЙ
- Установить максимальное число дней перед сменой пароля в МАКС_ДНЕЙ
Примеры использования команды passwd в Linux
Изменение своего пароля
Изменение пароля своей учётной записи (без опций):
oleg@mobile:~:$ passwd
Смена пароля для oleg.
Текущий пароль:
Новый пароль:
Повторите ввод нового пароля:
passwd: пароль успешно обновлён
oleg@mobile:~:$
Команда запрашивает у обычных пользователей старый пароль (если он был), а затем дважды запрашивает новый.
Изменение пароля пользователем root
oleg@mobile:~:$ sudo passwd oleg
Новый пароль:
Повторите ввод нового пароля:
passwd: пароль успешно обновлён
oleg@mobile:~:$
В данном случае при изменении пароля пользователя oleg
я использовал sudo
для вызова привилегий root
. Команда не запрашивала старый пароль, но дважды запрашивала новый.
Изменение пароля root
oleg@mobile:~:$ sudo passwd root
Новый пароль:
Повторите ввод нового пароля:
passwd: пароль успешно обновлён
oleg@mobile:~:$
Здесь для вызова привилегий root
я снова воспользовался sudo
, что очень удобно.
sudo
может использоваться для вызова привилегий root
обычными пользователями и может изменить пароль для самого root
.
Статус пользователя
Для вывода информации о состоянии пользователя используется опция -S
:
oleg@mobile:~:$ sudo passwd -S oleg
oleg P 2022-09-14 0 99999 7 -1
oleg@mobile:~:$
Информация состоит из следующих полей:
- имя пользователя;
- статус пароля (P — пароль установлен, LK — пароль заблокирован, NP — нет пароля);
- время изменения пароля;
- минимальный возраст пароля;
- максимальный возраст пароля;
- период предупреждения;
- период бездействия пароля.
Информация обо всех пользователя
Для вывода информации обо всех пользователях используются опции -S
и -a
:
oleg@mobile:~:$ sudo passwd -aS
root P 2022-09-14 -1 -1 -1 -1
bin L 2021-07-07 -1 -1 -1 -1
daemon L 2021-07-07 -1 -1 -1 -1
mail L 2021-07-07 -1 -1 -1 -1
ftp L 2021-07-07 -1 -1 -1 -1
http L 2021-07-07 -1 -1 -1 -1
nobody L 2021-07-07 -1 -1 -1 -1
dbus L 2021-07-07 -1 -1 -1 -1
systemd-journal-remote L 2021-07-07 -1 -1 -1 -1
systemd-network L 2021-07-07 -1 -1 -1 -1
systemd-oom L 2021-07-07 -1 -1 -1 -1
systemd-resolve L 2021-07-07 -1 -1 -1 -1
systemd-timesync L 2021-07-07 -1 -1 -1 -1
systemd-coredump L 2021-07-07 -1 -1 -1 -1
uuidd L 2021-07-07 -1 -1 -1 -1
oleg P 2022-09-14 0 99999 7 -1
polkitd L 2021-07-07 -1 -1 -1 -1
rtkit L 2021-07-07 -1 -1 -1 -1
avahi L 2021-07-07 -1 -1 -1 -1
mysql L 2021-07-07 -1 -1 -1 -1
dhcp L 2021-07-07 -1 -1 -1 -1
lightdm L 2021-07-07 -1 -1 -1 -1
git L 2021-07-11 -1 -1 -1 -1
saned L 2021-07-17 -1 -1 -1 -1
geoclue L 2022-01-16 -1 -1 -1 -1
tss L 2022-02-28 -1 -1 -1 -1
tor L 2022-02-28 -1 -1 -1 -1
oleg@mobile:~:$
Блокирование пароля
Для блокирования пароля учётной записи пользователя используется опция -l
:
oleg@mobile:~:$ sudo passwd -l oleg
Для разблокирования пароля учётной записи пользователя используется опция -u
:
oleg@mobile:~:$ sudo passwd -u oleg
Удаление пароля
Для удаления пароля учётной записи пользователя используется опция -d
:
oleg@mobile:~:$ sudo passwd -d oleg
Заключение
Знать команду passwd
необходимо пользователю, изучающему азы администрирования операционной системы Linux. В этой небольшой статье были приведены основные примеры её использования.