/etc/vsftpd.conf:# Запускаем как демон, а не из inetd.
listen=YES
background=YES
listen_address=192.168.1.1
# Включаем возможность использования tcpwrapper, лимиты через /etc/hosts.allow
tcp_wrappers=YES
# Пускаем только пользователей имеющих валидный shell, присутствующий в /etc/shells
check_shell=YES
# Вместо реальных владельцев файлов всегда показываем ftp:ftp
hide_ids=YES
# Общее максиамльно допустимое число коннектов.
max_clients=100
# Разрешенное число коннектов с одного IP.
max_per_ip=5
# Таймаут при ожидании команды
idle_session_timeout=300
# Таймаут при передаче данных
data_connection_timeout=60
# Непривилегированный пользователь, для того чтобы делать под ним, что можно выполнить без root.
nopriv_user=ftp
# Запрещаем рекурсивный вызов "ls -R"
ls_recurse_enable=NO
# Ограничение скорости прокачки для анонимных и локальных пользователей (байт в сек.)
anon_max_rate=50000
local_max_rate=100000
# Включаем ведение лога операций.
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
# Расширенные логи всех команд
log_ftp_protocol=YES
# ------------ Настрйоки для анонимного сервера
# Если сервер публичный, пускающий анонимных пользователей
anonymous_enable=YES
anon_umask=077
# Корень анонимного ftp архива
anon_root=/usr/local/ftp
# Запрещаем анонимным пользователям запись данных, если нужно разрешить
# запись для локальных пользовтелей (write_enable=YES)
anon_upload_enable=NO
# Запрещаем создавать директории.
anon_mkdir_write_enable=NO
# Запрещаем переименовывать и удалять
anon_other_write_enable=NO
# Если нужно запретить доступ к определенным типам файлов по маске
# deny_file={*.mp3,*.mov, *.avi, .filelist}
# Если нужно скрыть определенные типы файлов при выводе списка,
# но дать скачать тем кто знает точное имя.
# hide_file={*.mp3,*.mov, *.avi}
# Если анонимную закачку необходимо разрешить, нужно дополнительно
# использовать chown_uploads=YES и chown_username=ftp_anon_user
# Если нужно пускать анонимных пользователей только при правильном введении
# email (аналог паролей для ограничения доступа к публичному ftp), заданного в
# файле определенном директивой email_password_file, нужно установить
# secure_email_list_enable=YES
# ------------ Настрйоки для входа локальных пользователей
# Если сервер разрешает вход локальных пользователей, присутствующих в системе
local_enable=YES
# "-rw-r--r--"
local_umask=022
# Разрешаем показ файлов начинающихся с точки (например, .htaccess) для кривых ftp-клиентов
force_dot_files=YES
# Разрешаем пользователям записывать/изменять свою информацию на сервер.
# если нужно запретить запись данных - write_enable=NO
# Более тонкий тюнинг через "cmds_allowed=PASV,RETR,QUIT"
write_enable=YES
# Для всех пользователей делаем chroot, делаем корнем их домашнюю директорию,
# Список логинов для которых не нужно делать chroot задаем в vsftpd.chroot_list
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
# Активируем список пользователей которым запрещен вход по FTP (например, root)
userlist_enable=YES
userlist_file=/etc/ftpusers
URL: http://vsftpd.beasts.org/vsftpd_conf.html
Обсуждается: https://www.opennet.ru/tips/info/926.shtml