Установка и настройка ftp службы VSFTPD

1. VSFTPD установка на ubuntu

Установим пакет VSFTPD.

sudo yum install vsftpd

Получим статус службы.

sudo systemctl status vsftpd

1

Добавим службу в автозагрузку.

sudo systemctl enable vsftpd

2. Конфигурирование службы

Конфигурирование производится редактированием файла /etc/vsftpd.conf.

 #включаем ipv4
 listen=yes
 #pam сервис для аутентификации
 pam_service_name=vsftpd
 #запрещаем анонимный доступ
 anonymous_enable=NO
 #разрешаем доступ для пользователей Linux /etc/passwd
 local_enable=YES
 #Разрешаем изменять файловую систему
 write_enable=YES
 #Если опция включена, vsftpd будет отображать список директорий со временем в локальной временной зоне.
 use_localtime=YES
 #лог загрузок и скачиваний
 xferlog_enable=no
 #поддержка активного ftp (инициатор предачи клиент. он передает номер порта на который подключится служба с 20 порта)
 connect_from_port_20=YES
 #изоляция локального пользователя в каталоге
 chroot_local_user=YES
 #Подключить список пользователей которые не будут изолированы в каталоге
 chroot_list_enable=YES
 #путь к списку пользователей
 chroot_list_file=/etc/vsftpd/chroot_list
 #разрешить запись в изолированном режиме (подключает и чтение тутже)
 allow_writeable_chroot=YES
 #проверять валидность обработчика
 check_shell=no
 #указываем каталог с конфигурациями для каждого пользователя
 user_config_dir=/etc/vsftpd/users
 # Контроль доступа к серверу через отдельный список пользователей
 userlist_enable=YES
 # Файл со списками разрешенных к подключению пользователей user_list
 userlist_file=/etc/vsftpd/user_list

 # Пользователь будет отклонен, если его нет в user_list
 userlist_deny=NO
 # Маска прав доступа к создаваемым файлам
 local_umask=022
 #порты для passsive ftp
 pasv_min_port=20000
 pasv_max_port=30000

В файл /etc/vsftpd/user_list записываем имя пользователя которому требуется доступ к FTP.

Не перечисленные в файле пользователи не смогут подключиться к ftp

В файле /etc/vsftpd/chroot_list указываются пользователи у которых будет доступ к корню файловой системы.

В папке /etc/vsftpd/users создается файлы с названием имён пользователя, в котором устанавливаются директивы применимые к пользователю. Чаще всего для установки каталога доступа

#пользователь изолирован в каталоге /ftp/
local_root=/ftp/

3. Настройка pam.d отключение проверки оболочки

Файл конфигурации /etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
#запрещаем логин пользователям которые указаны в файле /etc/vsftpd/ftpusers
auth    required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
@include common-account
@include common-session
@include common-auth
#V Отключаем проверку командной оболочки
#auth    required    pam_shells.so

Отключение проверки командной оболочки позволит установить запрет на вход по ssh xrdp и т.д. Для запрета потребуется установить командную оболочку /usr/sbin/nologin на пользователя ftp.

4. Создание пользователя с доступом только в каталоге /ftp/usr1

Создадим пользователя usr1 с командной оболочкой /usr/sbin/nologin.

useradd usr1 -s /usr/sbin/nologin

Создадим его домашний каталог /home/usr1

mkdir /home/usr1

Создадим файл /etc/vsftpd/users/usr1 и укажем директивой local_root=/ftp/usr1 требуемый каталог для публикации.

2

Предоставим пользователю права на каталог /ftp/usr1.

mkdir /ftp/usr1
chown usr1:usr1 /ftp/usr1

Разрешим пользователю вход через ftp.

echo usr1 >> /etc/vsftpd/user_list

Совпадений по запросу " "

    Совпадений по запросу "" не найдено