一、安裝 1. 檢視是否安裝vsftpd rpm -qa | grep vsftpd 2. 安裝 yum -y install vsftpd 3. 設定開機啟用 ckconfig vsftpd on
二、配置vsftpd 打開vsftpd配置檔案 # vi /etc/vsftpd/vftpd.conf
#設定不允許匿名通路 anonymous_enable=NO #設定本地使用者可以通路。注:如使用虛拟宿主使用者,在該項目設定為NO的情況下所有虛拟使用者将無法通路 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES #記錄上傳下載下傳檔案的日志 xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=ftp #日志記錄檔案位置 xferlog_file=/var/log/vsftpd.log #格式化日志 xferlog_std_format=YES #設定支援ASCII模式的上傳和下載下傳功能 ascii_upload_enable=YES ascii_download_enable=YES
//使使用者不能離開主目錄 chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES #監聽IPv4 sockets listen=YES #注釋IPv6 sockets監聽 #listen_ipv6=YES
#PAM認證檔案名。PAM将根據/etc/pam.d/vsftpd進行認證 //已下三個請在配置檔案中手動添加 pam_service_name=vsftpd
userlist_enable=YES userlist_deny=YES #/etc/vsftpd/user_list中的使用者禁止登入ftp #如果隻配置userlist_enable=YES,有可能出現錯誤 “530 Permission denied”,是以加上如下配置 userlist_file=/etc/vsftpd/user_list tcp_wrappers=YES
#設定啟用虛拟使用者功能 guest_enable=YES //指定虛拟使用者的宿主使用者,CentOS中已經有内置的ftp使用者了 guest_username=ftp #設定虛拟使用者個人vsftp的CentOS FTP服務檔案存放路徑。存放虛拟使用者個性的CentOS FTP服務檔案(配置檔案名=虛拟使用者名) user_config_dir=/etc/vsftpd/vuser_conf
pasv_min_port=61001 pasv_max_port=62000
#檔案上傳下載下傳權限設定 allow_writeable_chroot=YES anon_umask=022 file_open_mode=777
#虛拟使用者和本地使用者有相同的權限 virtual_use_local_privs=YES
三、建立chroot list,将vftpd.conf配置檔案中的guest_username加入其中: # touch /etc/vsftpd/chroot_list # echo ftp >> /etc/vsftpd/chroot_list
四、建立使用者密碼檔案 # touch /etc/vsftpd/vuser_passwd.txt ##注意奇行是使用者名,偶行是密碼 test 111222
五、生成虛拟使用者認證的db檔案 如果沒有db4需要先進行安裝。安裝Berkeley DB工具: # yum install db4 db4-utils 生成虛拟使用者認證的db檔案: # db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
六、編輯認證檔案: # vi /etc/pam.d/vsftpd
全部注釋掉原來語句再增加以下兩句: ##檢視系統版本号 # getconf LONG_BIT #系統為32位的 auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd #系統為64位的 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
七、建立虛拟使用者配置檔案 # mkdir /etc/vsftpd/vuser_conf/ #檔案名等于vuser_passwd.txt裡面的賬戶名,否則下面設定無效 # vi /etc/vsftpd/vuser_conf/test ##内容如下: #虛拟使用者根目錄,根據實際情況修改(如果沒有需要建立)。該目錄必須要有讀寫權限 chmod -R 777 目錄。 local_root=/var/ftp/upload #可寫 write_enable=YES #掩碼 anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
八、設定防火牆 打開防火牆設定: # vi /etc/sysconfig/iptables 注釋其他,新加如下 # -A INPUT –m state --state NEW –m tcp –p tcp –dport 22 –j ACCEPT # -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT # -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT 然後儲存,并關閉該檔案,在終端内運作下面的指令,重新整理防火牆配置: # systemctl restart firewalld.service
如果上傳下載下傳中出現錯誤,看下日志vsftpd.conf(xferlog_file) :
tail /var/log/vsftpd.log 如果安裝過程中出現錯誤,可看日志:
tail /var/log/secure
注:如有錯誤,請大家指正哈