Изменение срока действия пароля и членства в группах с помощью chage и usermod
На этом этапе вы перейдете к управлению более сложными свойствами пользователей. Вы научитесь применять политики безопасности паролей с помощью chage для контроля срока их действия, а также управлять членством в группах с помощью usermod для контроля прав доступа.
Сначала изучим информацию о сроке действия пароля для учетной записи student1. Команда chage (change age) с флагом -l (list) выводит эти подробности.
sudo chage -l student1
В выводе отобразятся настройки по умолчанию. Даты будут соответствовать моменту создания пользователя.
Last password change : Dec 08, 2024
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
В целях безопасности рекомендуется требовать от пользователей периодической смены пароля. Установим политику: пароль должен меняться каждые 90 дней (-M 90), его можно менять не чаще одного раза в 7 дней (-m 7), а пользователь должен получить предупреждение за 14 дней до истечения срока (-W 14).
sudo chage -M 90 -m 7 -W 14 student1
Теперь снова просмотрите настройки, чтобы подтвердить изменения:
sudo chage -l student1
Вывод отразит новую политику:
Last password change : Dec 08, 2024
Password expires : Mar 08, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
Далее изменим членство в группах. Пользователь принадлежит к основной группе и может входить в несколько дополнительных (вторичных) групп. Просмотреть группы пользователя можно командой id.
id student1
uid=5001(student1) gid=5001(student1) groups=5001(student1)
Это показывает, что основной группой student1 является student1 (gid=5001), и он пока не состоит в дополнительных группах.
Создадим новую группу developers и добавим в нее student1. Сначала создайте группу:
sudo groupadd developers
Теперь добавьте student1 в эту группу с помощью usermod. Флаги -aG имеют решающее значение: -G указывает дополнительные группы, а -a (append) добавляет пользователя в группу, не удаляя его из существующих.
sudo usermod -aG developers student1
Снова проверьте группы пользователя:
id student1
Теперь в выводе присутствует группа developers:
uid=5001(student1) gid=5001(student1) groups=5001(student1),1002(developers)
Что произойдет, если забыть флаг -a? Давайте создадим еще одну группу testers и добавим в нее student1, используя только -G.
sudo groupadd testers
sudo usermod -G testers student1
Проверьте группы еще раз:
id student1
uid=5001(student1) gid=5001(student1) groups=5001(student1),1003(testers)
Заметьте, что student1 больше не состоит в группе developers. Использование usermod -G без -a заменяет все существующие дополнительные группы новым списком. Чтобы пользователь состоял в обеих группах, нужно либо перечислить их через запятую (-G developers,testers), либо использовать флаг добавления. Исправим это, правильно добавив student1 обратно в группу developers.
sudo usermod -aG developers student1
Проверьте итоговое состояние. Теперь пользователь должен быть членом обеих групп.
id student1
uid=5001(student1) gid=5001(student1) groups=5001(student1),1003(testers),1002(developers)