Установка vsftpd в Debian/Ubuntu

Специально для rekaa и его сайта welovecs.ru собрался с руками и попробую написать инструкцию для установки VsFTPD на Debian.


Установка:
И так, имеем систему
Linux version 2.6.26-2-openvz-amd64 (Debian 2.6.26-26lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Tue Jan 25 06:04:33 UTC 2011

Устанавливаем

sudo apt-get install vsftpd

Делаем, на всякий случай, копию исходного конфига

cp /etc/vsftpd.conf /etc/vsftpd.conf.default

Редактируем конфиг

vi /etc/vsftpd.conf

Мой конфиг:

listen=YES
 #listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 #anon_upload_enable=YES
 #anon_mkdir_write_enable=YES
 dirmessage_enable=YES
 use_localtime=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 #chown_uploads=YES
 #chown_username=whoever
 #xferlog_file=/var/log/vsftpd.log
 #xferlog_std_format=YES
 #idle_session_timeout=600
 #data_connection_timeout=120
 #nopriv_user=ftpsecure
 #async_abor_enable=YES
 #ascii_upload_enable=YES
 #ascii_download_enable=YES
 #ftpd_banner=Welcome to blah FTP service.
 #deny_email_enable=YES
 #banned_email_file=/etc/vsftpd.banned_emails
 chroot_local_user=YES
 #chroot_list_enable=YES
 #chroot_list_file=/etc/vsftpd.chroot_list
 ls_recurse_enable=YES
 secure_chroot_dir=/var/run/vsftpd/empty
 pam_service_name=vsftpd
 rsa_cert_file=/etc/ssl/private/vsftpd.pem
 pasv_min_port=50000
 pasv_max_port=59000

От конфига по умолчанию мой отличается следующим:
Права на загружаемые файлы

local_umask=022

Разрешаю локальным пользователям запись

write_enable=YES

Убирал доступ для анонимных пользователей

anonymous_enable=NO

Разрешил локальным пользователям логиниться (убрал комментарий в конфиге)

local_enable=YES

Установил права для заливаемых файлов (убрал комментарий в конфиге)

local_umask=022

Дал пользователям только его домашний каталог, домашний каталог пользователя можно посмотреть в /ets/passwd (убрал комментарий в конфиге)

chroot_local_user=YES

Включил ls -R, требуется некоторым FTP клиентам, иначе будет зависать FTP передача, особенно со включенным файрволом

ls_recurse_enable=YES

Указал пассивные порты

pasv_min_port=50000
pasv_max_port=59000

Перезапускаем VsFTPd

/etc/init.d/vsftpd restart

Список заблокированных локальных пользователей

root@rekka:~# cat /etc/ftpusers
 # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
root
 daemon
 bin
 sys
 sync
 games
 man
 lp
 mail
 news
 uucp
 nobody
 root@rekka:~#

Чтобы у root появился доступ, надо удалить его из списка (НЕ СОВЕТУЮ)

Правила для IPTABLES

-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32768:65535 -j ACCEPT
-A INPUT -p udp -m udp --dport 32768:65535 -j ACCEPT

Дополнительно:
Запретить доступ к определенным типам файлов по маске

deny_file={*.mp3,*.mov, *.avi, .filelist}

Скрыть определенные типы файлов при выводе списка, но дать скачать тем кто знает точное имя.

hide_file={*.mp3,*.mov, *.avi}

Ограничить скорость для пользователей (байт в сек.)анонимным

anon_max_rate=50000

локальным

local_max_rate=100000
Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем