Бывают ситуации, когда учетные записи пользователей не нуждаются в доступе через оболочку к FTP, почте или ssh.
В этом руководстве вы узнаете, как отключить доступ к оболочке у существующего пользователя Linux или создать нового пользователя без доступа к оболочке.
Как создать нового пользователя без доступа к оболочке
По умолчанию при создании учетной записи пользователю назначается оболочка, как определено в файле /etc/default/useradd
.
При создании учетной записи пользователя вы можете явно указать оболочку.
Linux поставляется с оболочкой /sbin/nologin
, которая отображает сообщение «This account is currently not available», когда пользователь пытается подключиться.
Это один из способов запретить пользователю доступ к оболочке!
Давайте проверим две команды, чтобы создать пользователя с отключенной оболочкой.
Использование useradd
:
Синтаксис:
useradd -s /sbin/nologin {username}
Используя adduser
:
Синтаксис:
adduser --shell /sbin/nologin {username}
Как отключить оболочку у существующего пользователя
Чтобы изменить оболочку для существующего пользователя, используйте команду chsh
или usermod
.
Используя chsh
:
Синтаксис:
chsh -s /sbin/nologin {username}
Чтобы изменить оболочку на nologin
для пользователя с именем bob, введите:
$ sudo chsh -s /sbin/nologin bob
Используя usermod
:
Синтаксис:
usermod {username} -s {shell path}
Чтобы изменить оболочку на /sbin/ftpnologin
для пользователя с именем bob, введите:
$ sudo usermod bob -s /sbin/ftpnologin
Вы можете настроить оболочку так, чтобы она отображала сообщение, когда пользователи входят в систему через ftp.
cat /sbin/ftpnologin
!/bin/sh
No shell access. Only FTP access allowed.
Сделаем файл исполняемым:
$ sudo chmod a+x /sbin/ftpnologin
Все оболочки доступны в /etc/shell
, добавьте в этот список новую оболочку:
$ echo "/sbin/ftpnologin" | sudo tee -a /etc/shells
Вместо того, чтобы выполнять описанные выше методы, вы можете вручную изменить оболочку, отредактировав файл /etc/password
, что также будет работать.
Заключение
В этом руководстве мы узнали, как отключить доступ учетной записи пользователя к оболочке по умолчанию. Спасибо за чтение.