Как заблокировать или отключить вход обычных пользователей в Linux
Как системный администратор, вы неизбежно в тот или иной момент будете проводить плановое обслуживание системы. Несколько раз ваша система также может столкнуться с некоторыми проблемами, и вам придется отключить ее, чтобы устранить проблему (проблемы). В какой бы ситуации ни возникали ситуации, рекомендуется запретить пользователям без полномочий root (обычным) подключаться к системе.
Читайте также: отключение или включение корневого входа по SSH и ограничение доступа по SSH в Linux
В этой статье мы опишем, как заблокировать вход пользователей без полномочий root с помощью файла /etc/nologin, а также оболочки nologin в Linux. Мы рассмотрим, как установить сообщение, объясняющее пользователям, что на самом деле происходит.
Как заблокировать вход пользователей с помощью файла /etc/nologin
Основная функция файла /etc/nologin — отображать сообщение (хранящееся в файле) пользователям, пытающимся войти в систему во время процесса завершения работы.
Как только сообщение отображается пользователю, процедура входа завершается, не позволяя пользователю войти в систему.
Это можно использовать для блокировки входа пользователя, создав файл вручную следующим образом.
vi /etc/nologin
Добавьте в файл приведенное ниже сообщение, которое будет показано пользователям, пытающимся войти в систему.
The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email .
Теперь вы можете проверить, работает ли все это; как вы можете видеть на снимке экрана ниже, обычный пользователь tecmint
не может войти в систему.
Как заблокировать вход пользователей с помощью оболочки nologin
Этот метод работает немного по-другому: он лишь блокирует пользователю доступ к оболочке. Но он или она может войти в систему с помощью таких программ, как ftp, которым не обязательно требуется оболочка для подключения пользователя к системе.
Кроме того, он может позволить вам заблокировать доступ к оболочке для определенных пользователей в особых сценариях.
На RHEL/CentOS/Fedora
Просто используйте команду chsh (change Shell), чтобы изменить оболочку пользователя в файле /etc/passwd на что-то вроде /bin/bash.
или /bin/sh
на /sbin/nologin
, что означает отказ от входа в систему.
chsh -s /bin/nologin tecmint
В Дебиан/Убунту
Здесь вам нужно использовать файл /bin/false. Приведенная ниже команда изменяет оболочку пользователя tecmint на /bin/false
, что означает ничего не делать (после того, как пользователь вводит учетные данные для входа):
sudo chsh -s /bin/false tecmint
Вам также может быть интересно прочитать следующие статьи по теме.
- Как включить и отключить root-вход в Ubuntu
- Сброс/восстановление забытого пароля учетной записи пользователя root в RHEL/CentOS 7
- Как ограничить пользователей SFTP домашними каталогами с помощью chroot Jail
- Как установить и отключить локальные, пользовательские и общесистемные переменные среды в Linux
На данный момент это все! Если у вас есть какие-либо вопросы или дополнительные идеи по этой теме, воспользуйтесь формой комментариев ниже.