LINUX下VSFTP設置及實例
# yum install vsftpd -y
配置目錄 /etc/vsftpd
# vim /etc/vsftpd/vsftpd.conf
iptables的配置:
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
例子:實現匿名可以訪問
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES <---默認就有的參數
# service vsftpd restart
例子:實現匿名可以上傳文件
# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
額外的參數
anon_other_write_enable=YES
anon_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.conf
anon_root=/common
anon_upload_enable=YES
anon_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 ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 20,21 -j ACCEPT
iptables -P INPUT DROP
結合Tcpwrapper
只允許example.com域下用戶訪問ftp
# vim /etc/hosts.deny
vsftpd: ALL EXCEPT .example.com