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