Установка и настройка vsftpd на Ubuntu
Установка и настройка vsftpd на Ubuntu
В статье показано как установить и настройка vsftpd на ОС Ubuntu.
Установка
sudo apt-get install vsftpd
Запущен постоянно
listen=YES
Разрешить вход только локальным пользователям:
anonymous_enable=NO
local_enable=YES
Разрешить пользователям записывать файлы
write_enable=YES
local_umask=022
Время вашего часового пояса
use_localtime=YES
Включить лог загружаемых и скачиваемых файлов:
xferlog_enable=YES
В целях безопасности разрешить серверу устанавливать соединения для передачи данных только на порт 20:
connect_from_port_20=YES
Зададим время неактивной сессии:
idle_session_timeout=600
В целях безопасности изолировать пользователя в его домашнем каталоге:
chroot_local_user=YES
Перезапустить ftp сервер:
sudo service vsftpd restart
Пробуем подключиться, ftp://192.168.*.* (ip сервера), из консоли: команды: ftp, open localhost, login\password, mkdir, bye.
Ещё бывает, что невозможно зайти с существующим пользователем: в логах ошибка:
CONNECT: Client «192.168.*.*»
[user] FAIL LOGIN: Client
решение: скопировать vsftpd.pam из примеров (find / -name vsftpd.pam) в /etc/pam.d/ftp и добавить «pam_service_name=ftp» в конфиг /etc/vsftpd.conf
# автозапуск демона vsftpd
listen=YES
# поддержка ip v6
#listen_ipv6=YES
# анонимный вход запрещен
anonymous_enable=NO
# разрешить вход локальным пользователям
local_enable=YES
# разрешить запись и изменение файлов на сервере
write_enable=YES
# маска файла по умолчанию для локального пользователя 077
# устанавливаем
local_umask=077
file_open_mode=0777
# включаем отображение файлов начинающихся с . или ..
#force_dot_files=Yes
# разрешаем установку прав доступа
chmod_enable=Yes
# прова виртальных и локальных пользователей устанавливаем равными
virtual_use_local_privs=Yes
# разрешение upload, по умолчанию NO
#anon_upload_enable=YES
# разрешение создавать директории по умолчанию NO
#anon_mkdir_write_enable=YES
# разрешение на вывод сообщения директории
#dirmessage_enable=YES
# создание детального файла отчетов о загрузках/выгрузках
xferlog_enable=YES
# дополнительные привелегии vsftpd для отслеживания 20 порта
connect_from_port_20=YES
# файл для записи логов
vsftpd_log_file=/var/log/vsftpd/vsftpd.log
# изменение формата файла логов
#xferlog_std_format=YES
# время ожидания в сесии
idle_session_timeout=600
# время ожидания соединения
#data_connection_timeout=120
# создание уникального ограниченного пользователя для ftp
#nopriv_user=ftpsecure
# включение функции ABOR requests для анонимного пользователя
#async_abor_enable=YES
# применение кодировки ASCII для загрузки/выгрузки
#ascii_upload_enable=YES
#ascii_download_enable=YES
# ftp banner — при старте
#ftpd_banner=Welcome to blah FTP service.
# ограничение по доступа по списку e-mail
#deny_email_enable=YES
# список e-mail
#banned_email_file=/etc/vsftpd.banned_emails
# права root в папке локального пользователя
chroot_local_user=YES
# пароль тот же, что при входе в систему
passwd_chroot_enable=YES
# разрешить список запрещенных пользователей
userlist_enable=YES
# список запрещенных пользователей
userlist_file=/etc/vsftpd.user_list
# разрешить список допустимых пользователей
#chroot_list_enable=YES
# адрес файла списка допустимых пользователей
#chroot_list_file=/etc/vsftpd.chroot_list
# разрешение команд ls -R; ls +R с рекурсией
#ls_recurse_enable=YES
#
# Debian customization (настройки специально для debian)
#
# Some of vsftpd’s settings don’t fit the Debian filesystem layout by
# default. These settings are more Debian-friendly.
#
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem