天天看点

LINUX下VSFTP设置

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