Это пост описывает, как мы можем создать FTP пользователя с конкретным доступом к каталогам. Это позволяет ограничить пользователю только сделать что-либо в конкретной папке.
Создадим FTP пользователя с конкретным доступ к каталогу:
Шаг 1: Во – первых, вам нужно настроить FTP – сервер.
Шаг 2: Изменение “chroot_local_user” на yes.
Измените ниже параметр в файле “/etc/vsftpd/vsftpd.conf” на yes. Un-hash это, если его хэш.
chroot_local_user=YES
Шаг 3: Перезапустите службу FTP.
[root@RHEL2]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ] [root@RHEL2]#
Шаг 4: Создайте каталог для FTP.
[root@RHEL2 ~]# mkdir /var/ftp_home
Шаг 5: Создайте FTP пользователя и установите пароль для того же пользователя.
[root@RHEL2 ~]# useradd ftpuser [root@RHEL2 ~]# passwd ftpuser Changing password for user ftpuser. New password: BAD PASSWORD: it is based on your username Retype new password: passwd: all authentication tokens updated successfully. [root@RHEL2 ~]#
Шаг 6: Измените владельца для каталога и установите его, как домашний каталог по умолчанию.
[root@RHEL2 ~]# chown ftpuser:ftpuser /var/ftp_home [root@RHEL2 ~]# usermod -d /var/ftp_home/ ftpuser
Шаг 7: Измените оболочку FTP пользователей к NOLOGIN, если вы хотите выполнить только операцию передачи файлов. Пользователь не сможет войти на сервер через SSH или Telnet.
[root@RHEL2 ftp_home]# usermod -s /sbin/nologin ftpuser
Перепроверьте его с помощью следующей команды.
[root@RHEL2 ~]# cat /etc/passwd|grep ftpuser ftpuser:x:506:509::/var/ftp_home/:/sbin/nologin
Тестирование:
Попробуйте войти в систему из другой системы с командой ниже (для выхода из системы используйте команду bye):
[root@rhel1 ftp_dump]# ftp 192.168.216.135 Connected to 192.168.216.135 (192.168.216.135). 220 (vsFTPd 2.2.2) Name (192.168.216.135:root): ftpuser 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (192,168,216,135,228,49). 150 Here comes the directory listing. -rw-r--r-- 1 0 0 0 Jan 01 20:47 12 -rw-r--r-- 1 0 0 0 Jan 01 20:47 4 -rw-r--r-- 1 0 0 0 Jan 01 20:47 5 226 Directory send OK. ftp> bye
Так как мы назначили NOLOGIN оболочки пользователя, он не сможет войти в систему.
[root@rhel1 ]# ssh ftpuser@192.168.216.135 ftpuser@192.168.216.135's password: This account is currently not available. Connection to 192.168.216.135 closed. [root@rhel1 ]#
…после установки шелл юзера в /sbin/nologin, /usr/sbin/nologin, /bin/false – не пускает и по фтп. при возвращении ссылки на bash – все ок. в чем может быть подвох?
sorry, забыл указать, где это обнаружилось:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
Не работает