По умолчанию при создании учетной записи пользователя в Linux, пользователь будет явно иметь доступ к SSH.
Бывают ситуации, когда учетным записям пользователей не нужен shell-доступ к FTP, почте или ssh.
В этом руководстве мы узнаем, как отключить доступ к shell для пользователя в Linux. В результате пользователь не сможет войти в оболочку.
Создание нового пользователя без доступа к оболочке
По умолчанию при создании учетной записи пользователю назначается оболочка, как определено в файле /etc/default/useradd.
При создании учетной записи пользователя вы можете явно указать оболочку, в которую пользователь должен войти.
Linux поставляется с оболочкой /sbin/nologin, которая выводит сообщение ‘This account is currently not available‘, когда пользователь пытается подключиться.
Это один из способов запретить пользователю доступ к оболочке входа в систему.
Давайте проверим две команды для создания пользователя с отключенной оболочкой.
С помощью useradd:
Синтаксис:
С помощью adduser:
Синтаксис:
Отключение оболочки для существующего пользователя
Чтобы изменить shell для существующего пользователя, используйте команду chsh или usermod.
Использование команды chsh:
Синтаксис:
Чтобы изменить shell на nologin для пользователя с именем bob, введите:
Использование usermod:
Синтаксис:
Чтобы изменить оболочку на /sbin/ftpnologin для пользователя с именем bob, введите:
Вы можете настроить оболочку так, чтобы она показывала пользовательское сообщение, когда пользователи входят в систему через ftp.
Чтобы дать права на выполнение, введите:
Все оболочки доступны в /etc/shell, добавьте новую оболочку в этот список:
Вместо вышеописанных методов, вы можете вручную изменить оболочку, отредактировав файл /etc/password, это также сработает.
Заключение
В этом руководстве мы узнали, как запретить учетной записи пользователя доступ к оболочке по умолчанию.
Спасибо за прочтение, пожалуйста, оставляйте свои отзывы и предложения в разделе комментариев ниже.
см. также:
- 👥 Как отключить доступ учетной записи пользователя Linux к shell
- 🐳 Как установить Docker на Kali Linux
- 🐧 Как фильтровать логи systemd с помощью journalctl с примерами