Перейти к основному содержимому
Как изменить доступ в систему

Как изменить доступ в систему

Утилиты

Для изменения доступа в систему существуют специальные команды.

Руководство: 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

Статус идет сразу после логина. Пароль действителен.

Изменение оболочки

примечание

Деактивировать учётную запись можно путём изменения оболочки пользователя по умолчанию одной из команд:

  • chsh -s <оболочка> <пользователь>;
  • usermod -s <оболочка> <пользователь>.

Возможные оболочки:

  • /usr/sbin/nologin — пользователь получит сообщение о невозможности входа,
  • /bin/false — оболочка немедленно завершит выполнение, вернув false.

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

Примеры

Задача: заблокировать пользователю trex доступ в систему по паролю и по SSH-ключу.

$ sudo chsh -s usr/sbin/nologin trex

# или

$ sudo usermod -s usr/sbin/nologin trex

Проверить результат можно попыткой входа в учетную запись с помощью команды login.

$ login
selectos login: trex
Password:

-----
# возможно приветственный экран
-----

Last login: Wed Jun 4 05:14:58 EDT 2025 on pts/0
This account is currently not available.

selectos login:

Примечание: опции для восстановления предыдущей выбранной оболочки не существует. Эту информацию нужно получить и запомнить перед изменением.

Как правило, в SelectOS используется оболочка /bin/bash.