И так, как и обещал в предыдущем посте, выкладываю рабочий пример vsftpd.conf
Для себя это очередная памятка, если кому-то пригодится еще, рад помочь.
Ниже кратко опишу некоторые пункты конфига:
anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO anon_world_readable_only=NO local_enable=YES write_enable=YES local_umask=0133 file_open_mode=0777 force_dot_files=YES listen=YES listen_port=10841 #connect_from_port_20=YES dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES log_ftp_protocol=NO syslog_enable=YES idle_session_timeout=600 data_connection_timeout=300 nopriv_user=ftp #ascii_upload_enable=YES #ascii_download_enable=YES ftpd_banner="Welcome to my FTP." pam_service_name=vsftpd chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/usr/local/etc/vsftpd/chroot_list_file.vsftpd userlist_file=/usr/local/etc/vsftpd/user_list_file.vsftpd userlist_enable=YES userlist_deny=NO delay_failed_login=5 ssl_enable=NO secure_chroot_dir=/usr/local/share/vsftpd/empty max_clients=10 max_per_ip=4 max_login_fails=1 pasv_min_port=30000 pasv_max_port=30999 # For VirtuaL Users guest_enable=YES guest_username=virtftpd session_support=YES user_sub_token=$USER local_root=$USER allow_writeable_chroot=YES chmod_enable=YES virtual_use_local_privs=YES # If using vsftpd in standalone mode, uncomment the next two lines: background=YES
Все расписывать не буду ибо инфы море об этом. А вот тезисно, наиболее интересные пункты распишу.
Для того чтобы никто не ломился и не перебирал пароли к вашему фтп, вешаем его на любой свободный не стандартный порт + в фаерволе сервака блокируем стандартные порты.
listen=YES
listen_port=10841
Если к фтп только у вас доступ или всего у нескольких человек, в таком случае ограничите доступ к открытому порту фтп еще и по IP.
Если по IP нет возможности заблокировать, в таком случае максимально усложняем жизнь для перебора такими строками:
delay_failed_login=5
и
max_login_fails=1
Чрутим вирт пользователей в своих директориях. Данные о них записываем в локальные файлы(в зависимости от того каким пользователем запускается демон vsftpd, выставите соотв. права на эти файлы).
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/usr/local/etc/vsftpd/vsftpd.chroot_list_file
userlist_file=/usr/local/etc/vsftpd/vsftpd.user_list_file
userlist_enable=YES
userlist_deny=NO
Также указываем какой пул портов использовать для передачи данных с сервера. Не забудьте в настройках фаервола сервера учесть эти порты.
pasv_min_port=30000
pasv_max_port=30999
На этом закруглюсь, описаний всех параметров делать не хочу, уже стопитцот раз писано переписано.
Всем удачи в настройке вашего фтп сервера.