2009-02-20

vsftpd

Итак, нужен ftp сервер. Вариантов много есть: pureFTP, proFTPd, vsftpd и т.д. Я остановил свой выбор на vsftpd по простой причине - он есть во всех дистрибутивах suse. Правда в sles9, opensuse10 нет файла в init.d, приходилось руками делать, но в более поздних версиях ситуация исправилась.

Значит, что мне от vsftpd нужно на данный момент:
1. Доспуп для анонимных пользователей на чтение.
2. Использование виртуальных пользователей.

Поехали:


mkdir /etc/vsftpd
touch /etc/vsftpd/logins.txt
echo fu >> /etc/vsftpd/logins.txt
echo fp >> /etc/vsftpd/logins.txt
echo alexsf >> /etc/vsftpd/logins.txt
echo aparolnada >> /etc/vsftpd/logins.txt
echo sit >> /etc/vsftpd/logins.txt
echo avapcheparolnada >> /etc/vsftpd/logins.txt
db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login" > /etc/pam.d/vsftpd
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login" >> /etc/pam.d/vsftpd
useradd -d /zzz/ftp -c "Virtual FTP User" -s /bublik/kruglik virtual
mkdir /zzz/ftp
chown virtual /zzz/ftp -R
mkdir /etc/vsftpd/user_conf
touch /etc/vsftpd/user_conf/sit
echo "anon_mkdir_write_enable=YES" > /etc/vsftpd/user_conf/sit
echo "anon_other_write_enable=YES" >> /etc/vsftpd/user_conf/sit
echo "anon_upload_enable=YES" >> /etc/vsftpd/user_conf/sit
echo "write_enable=YES" >> /etc/vsftpd/user_conf/sit
touch /etc/vsftpd/user_conf/alexsf
echo "anon_mkdir_write_enable=YES" > /etc/vsftpd/user_conf/alexsf
echo "anon_other_write_enable=YES" >> /etc/vsftpd/user_conf/alexsf
echo "anon_upload_enable=YES" >> /etc/vsftpd/user_conf/alexsf
echo "write_enable=YES" >> /etc/vsftpd/user_conf/alexsf
echo "local_root=/" >> /etc/vsftpd/user_conf/alexsf

#########################################################
### /etc/vsftpd.conf
#########################################################

anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_root=/zzz/ftp
anon_umask=022
anon_upload_enable=NO
anonymous_enable=YES
chroot_local_user=YES
dirmessage_enable=YES
dual_log_enable=YES
guest_enable=YES
guest_username=virtual
listen_port=21
listen=YES
local_enable=YES
local_umask=022
log_ftp_protocol=YES
ls_recurse_enable=YES
pam_service_name=vsftpd
pasv_max_port=30999
pasv_min_port=30000
user_config_dir=/etc/vsftpd/user_conf
write_enable=NO

Комментариев нет: