Как блокировать или отключать обычные пользовательские входы в Linux

Как системный администратор, вам неизбежно придется выполнять запланированные технические обслуживания системы в какой-то момент. Несколько раз ваша система также может столкнуться с какой-то проблемой(проблемами), и вам придется выключить ее, чтобы исправить проблему(проблемы). В любом случае, хорошей идеей является предотвращение подключения нормальных пользователей без привилегий root к системе.

Читайте также: Отключение или включение входа root через SSH и ограничение доступа по SSH в Linux

В этой статье мы опишем, как заблокировать вход нормальных пользователей с помощью файла /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 protected]. 

Теперь вы можете проверить, все ли работает; как видно на скриншоте ниже, обычный пользователь tecmint не может войти в систему.

Block User Login in Linux

Как заблокировать вход пользователей, используя оболочку nologin

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

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

На RHEL/CentOS/Fedora

Просто используйте команду chsh (change shell), чтобы изменить оболочку пользователей в файле /etc/passwd с чего-то вроде /bin/bash или /bin/sh на /sbin/nologin, что означает отказ во входе.

# chsh -s /bin/nologin tecmint

На Debian/Ubuntu

Здесь вам нужно использовать файл /bin/false. Команда ниже изменяет оболочку пользователя tecmint на /bin/false, что означает ничего не делать (после того как пользователь предоставит учетные данные для входа):

$ sudo chsh -s /bin/false tecmint

Вам также может быть интересно прочитать следующие статьи.

  1. Как включить и отключить вход root в Ubuntu
  2. Сброс забытого пароля учетной записи root в RHEL/CentOS 7
  3. Как ограничить пользователей SFTP к домашним каталогам, используя chroot-тюрьму
  4. Как установить и удалить локальные, пользовательские и системные переменные среды в Linux

Вот и все на данный момент! Если у вас есть вопросы или дополнительные идеи по данной теме, воспользуйтесь формой комментариев ниже.

Source:
https://www.tecmint.com/block-or-disable-normal-user-logins-in-linux/