Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 19 декабря, 2025

Как заблокировать учётные записи пользователей в Linux (6 способов)

Как заблокировать учётные записи пользователей в Linux (6 способов)

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

Для этого можно использовать различные команды Linux, например заблокировать учётную запись пользователя с помощью команды usermod, заблокировать учётную запись пользователя с помощью команды passwd, удалить учётную запись пользователя с помощью команды chage или напрямую изменить файл /etc/shadow для отключения учётной записи пользователя.

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

 

Способ 1. Блокировка учётной записи пользователя с помощью Usermod

Команда usermod — это надёжный инструмент для изменения информации об учётной записи пользователя, такой как имя пользователя, идентификатор пользователя, путь к домашнему каталогу, а также для блокировки учётной записи пользователя.

Вы можете использовать опцию -L с именем пользователя, чтобы заблокировать учётную запись, поставив ! перед зашифрованным хешем пароля в файле /etc/shadow.

$ sudo usermod -L <username>

 

После блокировки учётной записи пользователя с помощью этого метода доступ к ней будет невозможен напрямую, через SSH или любым другим способом, пока учётная запись не будет разблокирована с помощью опции -U .

$ sudo usermod -U <username>

 

Способ 2. Блокировка учётной записи пользователя с помощью команды Passwd

Команда passwd — ещё один замечательный инструмент для управления различными свойствами пароля пользователя, такими как удаление пароля, истечение срока действия пароля или блокировка пароля.

Механизм блокировки учётной записи пользователя с помощью passwd идентичен предыдущей команде, которая добавляет ! в качестве префикса перед зашифрованным хешем пароля в файле /etc/shadow.

Если по какой-либо причине вы не смогли использовать предыдущую команду, вы можете использовать команду passwd с параметром -l, после которого указывается учётная запись пользователя.

$ sudo passwd -l <username>

 

Чтобы разблокировать учётную запись пользователя, можно использовать опцию -U .

$ sudo passwd -u <username>

 

Способ 3. Удаление учётной записи пользователя с помощью Usermod

Команду usermod , которую мы ранее использовали для блокировки учётной записи пользователя, можно также использовать для удаления пароля учётной записи пользователя, чтобы целевой пользователь не мог получить доступ к своей учётной записи с сообщением «Срок действия вашей учётной записи истёк».

По умолчанию срок действия учётной записи пользователя устанавливается на будущее или не устанавливается вовсе, но при использовании этой команды для истечения срока действия учётной записи пользователя срок действия устанавливается в прошлом, обычно на эпоху Unix (1 января 1970 года), что делает учётную запись недоступной.

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

$ sudo usermod --expiredate 1 <username>

 

По истечении срока действия учётной записи пользователя при попытке доступа к ней как со стороны пользователя, так и со стороны кого-либо другого появится сообщение «Соединение закрыто».

Чтобы вернуть пользователя в обычное состояние, можно запустить:

$ sudo usermod --expiredate '' <username>

 

Способ 4. Удаление учётной записи пользователя с помощью Chage

Команда chage идентична команде passwd для изменения данных учётной записи пользователя, но с упором на изменение даты истечения срока действия учётной записи.

Допустим, вы хотите, чтобы срок действия учётной записи пользователя истёк. Для этого вы можете использовать опцию -E с 0 для немедленного истечения срока действия или указать будущую дату в формате «ГГГГ-ММ-ДД«.

$ sudo chage -E 0 <username>

# или

$ sudo chage -E YYYY-MM-DD <username>

 

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

$ sudo chage -E '' <username>

 

Способ 5. Изменение файла /etc/shadow для отключения учётной записи пользователя

Этот способ предназначен для опытных пользователей, которые уверенно работают с командной строкой и знакомы с файловой системой Linux. Таким образом, большинство команд, которые ранее использовались для отключения учётной записи пользователя, включали добавление префикса ! перед хешем пароля пользователя в файле /etc/shadow.

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

$ sudo nano /etc/shadow

 

Когда закончите, сохраните и закройте файл. Теперь, когда пользователь попытается войти в свою учётную запись, он увидит сообщение об ошибке «Доступ запрещён». Чтобы снова разблокировать учётную запись, просто уберите восклицательный знак рядом с хешем пароля.

Дополнительный совет! Установите для пользователя оболочку nologin

Другой способ отключить учётную запись пользователя — установить для него оболочку nologin, которая позволяет заблокировать или деактивировать возможность входа в систему. Просто выполните следующую команду, чтобы изменить оболочку пользователя на nologin:

$ sudo usermod -s /sbin/nologin <username>

 

Если в качестве оболочки для входа в систему пользователя установлено значение nologin, при попытке прямого доступа к учётной записи из системы появится сообщение «Эта учётная запись в данный момент недоступна.», а при попытке подключения по SSH — сообщение «Соединение закрыто».

Чтобы отменить это изменение, вы можете вернуть пользователю исходную оболочку (при условии, что это bash), выполнив следующую команду:

$ sudo usermod -s $(which bash) <username>

 

Все методы, упомянутые в этой статье, позволяют эффективно отключить, заблокировать или установить срок действия учётной записи пользователя с помощью командной строки или вручную.

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

Случайное удаление учётной записи пользователя может привести к катастрофическим последствиям, поэтому рекомендуется иметь резервную копию, особенно если вы новичок в использовании системы Linux.

Exit mobile version