CentOS下vsftpd服务器搭建
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端口
1
|
iptables -A INPUT -p tcp --dport 21 -j ACCEPT |
2.开放20端口
1
|
iptables -A INPUT -p tcp --dport 20 -j ACCEPT |
3.开放20主动端口
1
|
iptables -A INPUT -m state --state NEW -p tcp --dport 20 -j ACCEPT |
4.开放21主动端口
1
|
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT |
5.写入被动模式端口
1
2
|
echo pasv_min_port=30000 >> /etc/vsftpd/vsftpd .conf echo_pasv_max_port=31000 >> /etc/vsftpd/vsftpd .conf |
(注意:min 和 max 可以随意填写,但要遵守如下规则
max > min && min > 1000 && max < 65536)
6.写入被动端口
1
|
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT |
7.保存配置
1
|
/etc/init .d /iptables iptables save |
8.重启iptables防火墙
1
|
/etc/init .d /iptables iptables restart |
3.赋予权限
1
|
chmod -R 755 /var/ftp |
4.测试
成功!!!
2.ftp匿名服务器
1.配置
在/etc/vsftpd/vsftpd.conf(此为vsftpd的主配置文件) 下:
打开以下配置即可(删除前面的#号,如果没有,可以自行添加,默认配置文件最好不要注释掉)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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:
1
|
getsebool -a | grep ftp |
设置
1
|
setsebool -P allow_ftpd_anon_write=1 && setsebool -P allow_ftpd_full_access=1 & |
命令执行比较慢,可以放入后台执行
4.测试
成功
3.实体用户配置
1.配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
anonymous_enable=no #禁止匿名用户访问 local_enable= yes #支持实体用户登录 write_enable= yes #拥有写权限 local_umask=077 #默认目录权限是755 默认文件权限是644 dirmessage_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的设置
1
|
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开发规则即可
玩转vsftpd服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu实用简单的FTP架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设FTP服务器和Apache服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux系统vsftpd源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd http://www.linuxidc.com/Linux/2014-12/110070.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133305.htm