Thank you for reading this post, don't forget to subscribe!
По умолчанию при создании учетной записи Linux у пользователя будет явный доступ по SSH.
Бывают ситуации, когда учетные записи пользователей не нуждаются в доступе через оболочку к FTP, почте или ssh.
По умолчанию при создании учетной записи пользователю назначается оболочка, как определено в файле /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, что также будет работать.