时间:2016-07-18
1.最为简单的vsftpd服务器搭建
1.安装vsftpd 1.yum 安装yum install vsftpd
2.rpm文件安装(如果没有rpm文件,可以到http://rpmfind.net/网站下载)
rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
2.防火墙(centos 6.5 使用的是iptables防火墙)
1.开放21端口iptables -A INPUT -p tcp --dport 21 -j ACCEPT
2.开放20端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
3.开放20主动端口
iptables -A INPUT -m state --state NEW -p tcp --dport 20 -j ACCEPT
4.开放21主动端口
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
5.写入被动模式端口
echo pasv_min_port=30000 >> /etc/vsftpd/vsftpd.confecho_pasv_max_port=31000 >> /etc/vsftpd/vsftpd.conf
(注意:min 和 max 可以随意填写,但要遵守如下规则
max > min && min > 1000 && max < 65536) 6.写入被动端口iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
7.保存配置
/etc/init.d/iptables iptables save
8.重启iptables防火墙
/etc/init.d/iptables iptables restart
3.赋予权限
chmod -R 755 /var/ftp
4.测试 成功!!!2.ftp匿名服务器 1.配置 在/etc/vsftpd/vsftpd.conf(此为vsftpd的主配置文件) 下: 打开以下配置即可(删除前面的#号,如果没有,可以自行添加,默认配置文件最好不要注释掉)
anonymous_enable=YES#允许匿名访问local_enable=YES#支持本地端实体用户登录write_enable=YES#如果要允许用户上传local_umask=022#限制上传文件的权限anon_upload_enable=YES#允许上传文件anon_mkdir_write_enable=YES#允许建立文件夹anon_other_write_enable=YES#对文件有读写操作权限,意味着可以删除文件xferlog_enable=YES#记录日志xferlog_file=/var/log/xferlog#日志位置pam_service_name=vsftpd#支持PAM模块的管理tcp_wrappers=YES#支持TCP Wrappers 的防火墙机制
2.测试
能够访问,并且能够下载但是不能上传
3.selinux的配置
查看selinux:
getsebool -a | grep ftp
设置
setsebool -P allow_ftpd_anon_write=1 && setsebool -P allow_ftpd_full_access=1 &
命令执行比较慢,可以放入后台执行
4.测试成功
3.实体用户配置 1.配置anonymous_enable=no#禁止匿名用户访问local_enable=yes#支持实体用户登录write_enable=yes#拥有写权限local_umask=077#默认目录权限是755 默认文件权限是644dirmessage_enable=yes#显示文件内容connect_from_port_20=YES#主动连接xferlog_std_format=YES#记录日志listen=YES#使用stand alone 方式启动pam_service_name=vsftpd#支持pam模块tcp_wrappers=yes#支持tcp防火墙userlist_enable=yes#不允许/etc/vsftpd/user_list内的用户登录vsftpd
2.selinux的设置
setsebool -P ftp_home_dir=1
3.测试
成功!!!
4.ftp服务器安全 1.chroot 目录:/etc/vsftpd/chroot_list 使用: 1.将需要限制的用户名写入即可,一排一个用户名,最好通过 >> 来写入 2.设置vsftpd.conf chroot_list_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot 目的: 在文件内的用户名登录ftp之后,只能在用户主目录下 2.userlist 目录:/etc/vsftpd/user_list 使用: 1.将需要限制的用户名写入即可,一排一个用户名,最好通过 >> 来写入 2.设置vsftpd.conf userlist_enable=YES userlist_file=/etc/vsftpd/user_list 如果 [ userlist_deny=NO ];那么 此时文件内的用户才能访问ftp 另外 [ userlist_deny=YES ];那么 此时文件内的用户不能访问ftp 目的: 想让某人使用或者不使用ftp都可以
5.总结
1.ftp 使用的端口为20,21 其中 21 为通道端口,20为连接端口
2.防火墙与selinux开发规则即可