Безопасность системы Linux – задача первостепенной важности. Одним из ключевых аспектов поддержания этой безопасности является управление учётными записями пользователей, включая необходимость их блокировки в определенных ситуациях. Блокировка учётной записи предотвращает вход пользователя в систему, не удаляя при этом его данные, что полезно, когда пользователь временно отсутствует, уволился или его учётная запись была скомпрометирована. В Linux существует несколько способов заблокировать учётные записи пользователей, и выбор метода зависит от ваших конкретных потребностей и предпочтений. В этой статье тут мы рассмотрим шесть эффективных способов блокировки учётных записей пользователей в Linux.
1. Использование команды passwd
Команда passwd – наиболее распространённый инструмент для управления паролями пользователей, и она также может быть использована для блокировки учётных записей. Для блокировки учётной записи пользователя используйте опцию -l (lock):
sudo passwd -l имя_пользователя
Эта команда фактически «блокирует» пароль учётной записи, добавляя символ «!» перед зашифрованным паролем в файле /etc/shadow. Это делает вход в систему по паролю невозможным.
Для разблокировки учётной записи используйте опцию -u (unlock):
sudo passwd -u имя_пользователя
2. Использование команды usermod
Команда usermod – более универсальный инструмент для изменения свойств учётной записи пользователя. Она также предоставляет возможность блокировки и разблокировки.
Для блокировки учётной записи с помощью usermod используйте опцию -L (lock):
sudo usermod -L имя_пользователя
Эта команда аналогична passwd -l и также добавляет «!» в /etc/shadow.
Для разблокировки учётной записи используйте опцию -U (unlock):
sudo usermod -U имя_пользователя
3. Использование команды chage
Команда chage предназначена для управления информацией о старении паролей, но она также может быть использована для принудительной блокировки учётной записи.
Чтобы заблокировать учётную запись, можно установить дату истечения срока действия пароля на прошлое:
sudo chage -E 0 имя_пользователя
Эта команда устанавливает дату истечения срока действия пароля на 1 января 1970 года (эпоха Unix), что эффективно блокирует учётную запись.
Для разблокировки учётной записи необходимо установить дату истечения срока действия пароля на будущее или удалить ее:
sudo chage -E "" имя_пользователя
Или установить дату в будущем:
sudo chage -E 2026-01-01 имя_пользователя
4. Прямое редактирование файла /etc/shadow
Файл /etc/shadow содержит зашифрованные пароли пользователей и другую информацию, связанную с безопасностью учётных записей. Хотя этот метод является более прямым и требует осторожности, он может быть использован для блокировки учётной записи.
Откройте файл /etc/shadow с помощью текстового редактора (например, vim или nano) с правами суперпользователя:
sudo vim /etc/shadow
Найдите строку, соответствующую учётной записи пользователя, которую вы хотите заблокировать. В этой строке замените зашифрованный пароль на символ «!» (восклицательный знак). Например:
имя_пользователя:$6$xxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:18652:0:99999:7:::
После редактирования должно выглядеть так:
имя_пользователя:!$6$xxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:18652:0:99999:7:::
Сохраните изменения и закройте файл.
Для разблокировки учётной записи замените «!» на исходный зашифрованный пароль, если он у вас есть, или установите новый пароль с помощью команды passwd.
Важно: Будьте предельно осторожны при редактировании файла /etc/shadow, так как ошибка может привести к серьезным проблемам с безопасностью системы.
5. Использование PAM (Pluggable Authentication Modules)
PAM – это гибкая система аутентификации, которая позволяет настраивать различные параметры аутентификации, включая блокировку учётных записей. Можно настроить PAM для автоматической блокировки учётной записи после нескольких неудачных попыток входа.
Настройка PAM для блокировки учётной записи – более сложная задача, которая требует редактирования файлов конфигурации PAM, расположенных в /etc/pam.d/. В зависимости от используемого дистрибутива Linux, файлы, которые нужно изменить, могут отличаться (например, common-auth, system-auth, login).
В качестве примера, чтобы заблокировать учётную запись после трех неудачных попыток входа, можно использовать модуль pam_faillock.so. Добавьте следующие строки в файл /etc/pam.d/common-auth (или аналогичный файл в вашей системе) перед строкой auth required pam_unix.so try_first_pass nullok:
auth required pam_faillock.so preauth silent deny=3 audit
auth [success=1 default=ignore] pam_unix.so try_first_pass nullok
auth requisite pam_faillock.so authdeny audit deny=3 unlock_time=900
auth required pam_permit.so
Первая строка (pam_faillock.so preauth) отслеживает неудачные попытки входа. Вторая строка (pam_unix.so) отвечает за стандартную аутентификацию Unix. Третья строка (pam_faillock.so authdeny) блокирует учётную запись, если количество неудачных попыток превысит deny=3. unlock_time=900 указывает время блокировки в секундах (в данном случае 15 минут).
Затем добавьте следующие строки в файл /etc/pam.d/common-account (или аналогичный файл):
account required pam_faillock.so
account required pam_unix.so
Эти строки гарантируют, что pam_faillock.so будет учитываться при управлении учетными записями.
После внесения изменений необходимо перезапустить службу аутентификации или перезагрузить систему.
Важно: Настройка PAM – сложная задача, требующая глубокого понимания системы аутентификации. Неправильные настройки могут привести к проблемам с входом в систему.
6. Использование графических инструментов
Многие дистрибутивы Linux поставляются с графическими инструментами управления пользователями, которые упрощают процесс блокировки и разблокировки учётных записей. Например, в KDE Plasma вы можете использовать «Системные настройки» (System Settings) -> «Учётные записи пользователей» (User Accounts). В GNOME вы можете использовать «Настройки» (Settings) -> «Пользователи» (Users).
Использование графических инструментов обычно требует ввода пароля администратора. Интерфейс интуитивно понятен и позволяет легко блокировать и разблокировать учётные записи пользователей.
Заключение
В этой статье мы рассмотрели шесть способов блокировки учётных записей пользователей в Linux: использование команд passwd, usermod, chage, прямое редактирование файла /etc/shadow, настройка PAM и использование графических инструментов. Каждый метод имеет свои преимущества и недостатки, и выбор метода зависит от ваших конкретных потребностей и уровня комфорта при работе с командной строкой или графическим интерфейсом. Важно помнить о необходимости осторожности при внесении изменений в системные файлы и тщательно тестировать любые изменения, чтобы избежать проблем с безопасностью системы. Регулярное аудит учётных записей и использование надежных паролей также важны для поддержания безопасности системы Linux.