LINUX下VSFTP設定及執行個體 # yum install vsftpd -y 配置目錄 /etc/vsftpd # vim /etc/vsftpd/vsftpd.conf iptables的配置:iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -i lo -j ACCEPT 例子:實現匿名可以訪問# vim /etc/vsftpd/vsftpd.confanonymous_enable=YES <---預設就有的參數 # service vsftpd restart 例子:實現匿名可以上傳檔案# vim /etc/vsftpd/vsftpd.conf anon_upload_enable=YESanon_mkdir_write_enable=YES 額外的參數anon_other_write_enable=YESanon_world_readable_only=NO <---YES代表匿名只可以下載任何人都可以讀的檔案 注意:要實現網路服務可寫,必須首先保證服務軟體允許可寫訪問其次,保證寫操作對應資源(目錄)有寫的許可權 預設情況下,匿名帳號ftp登入的資源根目錄是在/var/ftp而如果要讓他能上傳檔案,就必須在/var/ftp下建立一個子目錄,並且讓這個子目錄有可寫的許可權。 # chmod 777 /var/ftp/pub Selinux的設定:# sealert -a /var/log/audit/audit.log <--相關的提示可以從這裡看到# setsebool -P allow_ftpd_anon_write=1 # chcon -t public_content_rw_t /var/ftp/pub 重啟服務# service vsftpd restart 測試ftp> put /etc/fstab /pub/fstab 例子3:更改匿名登入之後訪問的ftp資源的根目錄,然後讓匿名可以有上傳檔案的許可權。根目錄改為/common 提示:怎麼更改ftp根目錄注意自訂目錄的selinux的安全上下文 # vim /etc/vsftpd/vsftpd.confanon_root=/commonanon_upload_enable=YESanon_mkdir_write_enable=YES # mkdir /common# mkdir /common/pub# chmod 777 /common/pub # setsebool -P allow_ftpd_anon_write=1# chcon -t public_content_t /common# chcon -t public_content_rw_t /common/pub # service vsftpd restart IPTABLES的設定modprobe ip_conntrack_ftp <---非常重要echo "modprobe ip_conntrack_ftp" >> /erc/rc.d/rc.local iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -p tcp -m multiport --dports 20,21 -j ACCEPT iptables -P INPUT DROP 結合Tcpwrapper 只允許example.com域下使用者訪問ftp# vim /etc/hosts.denyvsftpd: ALL EXCEPT .example.com