Установка и настройка vsftpd

Небольшая заметка как установить и настроить vsftpd демон. Поехали.

 

Поставлена задача: выдать доступ по ftp к определенному каталогу,авторизация по login/password. 

 

Все операции производятся от пользователя root. Устанавливаем стандартным образом:

apt-get install vsftpd

Файл настроек находится /etc/vsftpd.conf Для решения поставленной задачи был написан следующий конфиг:

#config vsftpd
listen=YES
# Вход для зарегистрированных в системе пользователей
local_enable=YES
#chroot_local_user=YES
# включить список пользователей,которым заблокирован выход выше домашнего каталога
chroot_list_enable=YES
# в следующем файле указываются пользователи,которые запиратся в домашнем каталоге
chroot_list_file=/etc/vsftpd.chroot_list
# проверка на наличие шелла пользователя (из /etc/passwd) в файле /etc/shells
check_shell=NO
# разрешить закачку файлов
write_enable=YES
# включение логирования uploads/downloads файлов
xferlog_enable=YES
# использовать порт 20 для передачи данных
connect_from_port_20=YES
# изменение владельца закачанных файлов на указанного нижу
chown_uploads=YES
chown_username=nobody
# закрыть доступ к файлам,подходящим под следующий шаблон
deny_file=
# и некоторые другие стандартные записи,которые в данном случае не важны
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Для того. чтобы запретить ftp пользователям логиниться по ssh нужно добавить специальный шелл nologin:

# which nologin
/usr/sbin/nologin 
echo '/usr/sbin/nologin' >> /etc/shells

Создаем (если надо) каталог,в котором будут в последующем храниться домашние директории пользователя:

mkdir -p /home/pub/

Далее добавляем нужного нам пользователя:

useradd -s /usr/sbin/nologin -d /home/pub/www.user -m  abc

где /home/pub/www.user — домашний каталог пользователя, abc — имя пользователя

Пароль можно задать командой,-m — создать каталог для пользователя

passwd abc

с последующим его вводом.

Перезагружаем vsftpd:

/etc/init.d/vsftpd restart

и проверяем проверяем работу сервиса.

Приложение: Файл  /etc/vsftpd.chroot_list  содержит список пользователей,которые запираются в домашнем каталоге.

 

p.s.: Исправил одну ошибку,дополнил статью. Будут проблемы в настройке — пишите

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *