Бывают ситуации, когда учетные записи пользователей не нуждаются в доступе через оболочку к 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, что также будет работать.

Заключение

В этом руководстве мы узнали, как отключить доступ учетной записи пользователя к оболочке по умолчанию. Спасибо за чтение.