Установка vsftpd через Aptitude или apt-get :
aptitude install vsftpd
Сервер после установки автоматически запустится, и слушает порт 21.
Проверить можно так:
netstat –npl | grep frp tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 735/vsftpd
Если сервер находится не за firewall, то перед тем как настроить сервер, будет разумно остановить его:
/etc/init.d/vsftpd stop
Откроем файл с настройками , и изменим его:
nano /etc/vsftpd.conf
Мой пример настройки:
# # Если включено, то демон vsftpd будет работать в "standalone" (автономном) режиме. # Это означает, что vsftpd не должен запускаться от inetd. Вместо этого, vsftpd # запускается отдельно от inetd, напрямую. vsftpd будет самостоятельно слушать и # обрабатывать входящие соединения.. listen=YES # # Контролирует, разрешить анонимный вход под логином "anonymous" или нет? Если # включено, то в таком случае, и логин "ftp", и логин "anonymous" - будут # распознаваться как логин "anonymous". anonymous_enable=YES # # Разрешить вход под локальными логинами или нет? Если включено, то для авторизации # могут использоваться обычные нормальные учётные записи пользователей из # "/etc/passwd" (или оттуда, куда ссылается ваша настройка PAM). Это должно быть # включено для того, чтобы работал любой НЕ "anonymous" логин, включая и виртуальных # пользователей. local_enable=YES # # Параметр задаёт, может ли любая FTP-команда делать изменения в файловой системе или # нет. Эти команды: "STOR", "DELE", "RNFR", "RNTO", "MKD", "RMD", "APPE" и "SITE". write_enable=yes # # По умолчанию umask для локальных пользователей 077. Вы можете изменить это на 022, # (022 используется в большинстве ftp сервисах) local_umask=022 # # Если включено, то пользователям FTP-сервера можно показывать сообщения, когда они # переходят в каталог. По-умолчанию каталог сканируется на наличие файла ".message", # но вы можете указать другой файл, изменив расположение в значении параметра # "message_file". dirmessage_enable=YES # # Если параметр установлен в "YES", то лог-файл будет содержать детальную информацию о # загрузках на vsftpd и закачках с vsftpd. По-умолчанию, этот файл находится в # "/var/log/vsftpd.log", но путь к файлу может быть изменён установкой значения # параметра "vsftpd_log_file ". xferlog_enable=YES # # Включение этого параметра указывает исходящим с сервера соединениям использовать 20 # порт (ftp-data). По соображением безопасности, некоторые клиенты могут настаивать на # таком случае (чтобы параметр был установлен в YES). Наоборот, отключение этого # параметра позволяет vsftpd запускаться с меньшими привилегиями. По-умолчанию: NO (но # демонстрационный файл настроек содержит YES) connect_from_port_20=YES # # Когда включено, при загрузках на vsftpd будет соблюдаться режим передачи данных # ASCII. #ascii_upload_enable=YES #ascii_download_enable=YES # # Этот строковой параметр позволяет указать строку, которая будет отображаться в виде # приветствия: ftpd_banner=Welcome to Simple FTP server. # # Если включено, то вы можете предоставить список локальных пользователей, которые # после авторизации будут размещены в клетке chroot(), в своих домашних каталогах. # Значение немного будет отличаться, если параметр "chroot_local_user" установлен в # "YES". В этом случае, список становится списком пользователей, которые НЕ БУДУТ # размещены в клетке chroot(). По-умолчанию, этот список содержится в файле # "/etc/vsftpd.chroot_list", но вы можете указать другой файл, изменив местоположение # в значении параметра "chroot_list_file". chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list # # # Параметр должен содержать имя пустого каталога. Так же этот каталог не должен быть # доступен для записи ftp-пользователем. Каталог используется безопасной клеткой # chroot() во время, когда vsftpd не требует доступ к файловой системе. secure_chroot_dir=/var/run/vsftpd # # Строка содержит имя сервиса PAM, которым будет пользоваться vsftp. pam_service_name=vsftpd # # Если включено, то файлы и каталоги, начинающиеся с символа точки "." будут показаны # в списке файлов каталога, даже если флаг "a" не использовался ftp-клиентом. Этот # параметр не затрагивает каталоги "." и "..". force_dot_files=YES # # Этот параметр указывает каталог, на который vsftpd попытается изменить, после # анонимной авторизации на vsftpd. При ошибке, тихо игнорируется. # anon_root=/srv/ftp
Описание всех параметров http://wiki.debian.org/ru/vsftpd/vsftpd.conf
Каталог по умолчанию доступный для «anonymous» /srv/ftp
Все теперь можно запустить сервер
/etc/init.d/vsftpd start
UPDATE: В последних 2.3.5 - 3.0.0 версиях директория пользователя /home/user не должна быть доступна для записи
#chmod a-w /home/user