Как изменить доступ в систему
Утилиты
Для изменения доступа в систему существуют специальные команды.
Руководство: man usermod, man passwd, man chage, man chsh.
Справка по утилитам: usermod, passwd, chage, chsh.
Права на управление доступом
Управление доступом в систему требует наличия прав на редактирование системных файлов.
Права можно получить одним из способов:
- запускать команды под
sudo(для этого нужно иметь права суперпользователя); - авторизоваться под учетной записью root (не рекомендуется).
В инструкциях раздела будут приведены примеры с использованием рекомендуемого подхода — через sudo.
Как запретить доступ пользователю
Есть несколько способов остановить доступ пользователя в систему:
-
истечение срока действия учетной записи;
-
блокирование учетной записи;
-
изменение оболочки пользователя.
Ниже инструкции для каждого способа с подсказками, как вернуть доступ.
Истечение срока действия учетной записи
Введите одну из команд:
сhage -E 1 <пользователь>;usermod -e 1 <пользователь>.
Примечание: будет запрещен вход и по паролю, и по ключу SSH из-за истечения срока действия учетной записи.
Примеры
Задача: запретить пользователю trex вход по паролю и по ключу SSH.
$ sudo chage -E 1 trex
# или
$ sudo usermod -e 1 trex
Можно проверить результат попыткой войти в аккаунт.
selectos login: trex
Password:
Your account has expired; please contact your system administrator.
Authentication failure
Чтобы вернуть доступ, возможны варианты:
сhage -E -1 <пользователь>— сделать срок действия аккаунта бесконечным;usermod -e -1 <пользователь>— сделать срок действия аккаунта бесконечным;сhage -E <YYYY-MM-DD> <пользователь>— установить новый срок действия аккаунта;usermod -e <YYYY-MM-DD> <пользователь>— установить новый срок действия аккаунта.
Примеры
Задача: вернуть пользователю trex доступ по паролю и по ключу SSH.
Бессрочный аккаунт
$ sudo chage -E -1 trex
# или
$ sudo usermod -e -1 trex
Можно проверить результат командой change -l <пользователь>.
$ sudo chage -E -1 trex
$ sudo chage -l trex
Last password change : May 31, 2025
Password expires : May 31, 2026
Password inactive : Jun 14, 2026
Account expires : never # срок действия аккаунта стал бесконечным
Minimum number of days between password change : 30
Maximum number of days between password change : 365
Number of days of warning before password expires : 7
Установка нового срока действия аккаунта
$ sudo chage -E 2028-06-01 trex
# или
$ sudo usermod -e 2028-06-01 trex
Можно проверить результат командой change -l <пользователь>.
$ sudo chage -l trex
Last password change : May 31, 2025
Password expires : May 31, 2026
Password inactive : Jun 14, 2026
Account expires : Jun 01, 2028 # новый срок установлен
Minimum number of days between password change : 30
Maximum number of days between password change : 365
Number of days of warning before password expires : 7
Блокирование учетной записи
Введите одну из команд:
passwd -l <пользователь>;usermod -L <пользователь>.
Примечание: будет запрещен вход только по паролю. Пользователь может иметь актуальный доступ по SSH-ключу.
Примеры
Задача: запретить пользователю trex вход по паролю.
$ sudo passwd -l trex
# или
$ sudo usermod -L trex
Проверить результат можно командой passwd -S <пользователь>. Возможные статусы:
L— пароль недействителен,P— пароль дейтствителен,NP— пароль отсутствует.
$ sudo passwd -S trex
trex L 2025-05-31 30 365 7 14
Статус идет сразу после логина. Пароль недействителен.
Можно проверить блокировку аккаунта попыткой входа с помощью команды login.
$ login
selectos login: trex
Password:
Login incorrect
selectos login:
Чтобы вернуть доступ, введите одну из команд:
passwd -u <пользователь>;usermod -U <пользователь>.
Примеры
Задача: разрешить пользователю trex вход по паролю.
$ sudo passwd -u trex
# или
$ sudo usermod -U trex
Проверить результат можно командой passwd -S <пользователь>. Возможные статусы:
L— пароль недействителен,P— пароль дейтствителен,NP— пароль отсутствует.
$ sudo passwd -S trex
trex P 2025-05-31 30 365 7 14