安裝vsftpd數據庫
yum install vsftpd db4* -yvim
增長虛擬用戶帳號app
vim /etc/vsftpd/vuser.txttcp
1 xiaogege 2 1234qwer 3 xiaojiejie 4 1234qwer 5 xiaodidi 6 1234qwer
chmod 600 /etc/vsftpd/vsuer.txtui
生成帳號密碼數據庫spa
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.dbrest
修改認證文件code
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bakorm
vim /etc/pam.d/vsftpdblog
1 #%PAM-1.0
2 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser 3 account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
建立不可chroot的用戶
vim /etc/vsftpd/chroot_list
1 xiaogege 2 xiaojiejie 3 xiaodidi
修改主配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=NO local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES connect_from_port_20=YES chown_uploads=NO ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to blah the FTP service of chenxiaowei. chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list tcp_wrappers=YES ls_recurse_enable=NO guest_enable=YES guest_username=ftp user_config_dir=/etc/vsftpd/user_conf pasv_enable=YES pasv_min_port=65000 pasv_max_port=65500
建立用戶配置目錄及文件
mkdir /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/xiaogege ##管理員
1 anon_world_readable_only=NO 2 anon_upload_enable=YES 3 download_enable=YES 4 write_enable=YES 5 anon_mkdir_write_enable=YES 6 anon_other_write_enable=YES 7 local_root=/var/ftp/
8 allow_writeable_chroot=YES
vim /etc/vsftpd/user_conf/xiaodidi ##只能上傳
1 anon_upload_enable=YES 2 anon_world_readable_only=NO 3 write_enable=YES 4 download_enable=NO 5 anon_mkdir_write_enable=YES 6 anon_other_write_enable=YES 7 allow_writeable_chroot=YES 8 local_root=/var/ftp/pub
vim /etc/vsftpd/user_conf/xiaojiejie ##只能下載
1 anon_world_readable_only=NO 2 anon_upload_enable=YES 3 download_enable=YES 4 allow_writeable_chroot=YES 5 local_root=/var/ftp/pub
開啓防火牆端口
firewall-cmd --add-port=65000-65500/tcp --permanent --zone=public
firewall-cmd --add-port=20-21/tcp --permanent --zone=public
firewall-cmd --reload
iptbles -A INPUT -p tcp -m multiport --dport 20,21 -m state --state NEW -j ACCEPT ##--開啓20,21端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT ##--開啓21主動端口
iptable - A INPUT -p tcp --dport 6500:65500 -j ACCEPT ##--開啓被動端口
設置開機啓動,經常使用命令
chkconfig --level 35 vsftpd on
chkconfig --list | grep vsftpd
service vsftpd start
service vsttpd restart
Port模式:
當客戶端C向服務端S鏈接後,使用的是Port模式,那麼客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個端口N在等着你進行數據鏈接),當服務端S收到這個Port命令後 就會向客戶端打開的那個端口N進行鏈接,這種數據鏈接就生成了。
Pasv模式:
當客戶端C向服務端S鏈接後,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個端口M,你如今去鏈接我吧),當客戶端C收到這個信息後,就能夠向服務端S的M端口進行鏈接,鏈接成功後,數據鏈接也創建了。服務端s沒法監聽本地路由設備的端口,只能監聽外網地址路由設備的端口。