标签:
1.安装vsftpd软件 yum install vsftpd -y 2.开启匿名访问和被动模式端口 vim /etc/vsftpd/vsftpd.conf anonymous_enable=YES --开启匿名用户访问 anon_upload_enable=YES --匿名用户名可以上传文件 anon_mkdir_write_enable=YES --匿名用户可以创建文件 anon_other_write_enable=YES --匿名用户可以重命名文件 pasv_enable=YES --开启被动模式 pasv_min_port=30000 --被动模式最小端口 pasv_max_port=31000 --被动模式最大端口 3.加载ftp模块 vim /etc/modprobe.d/vsftpd.conf alias ip_conntrack ip_conntrack_ftp ip_nat_ftp --加载ftp模块 vim /etc/rc.local /sbin/modprobe ip_conntract --开机加载模块 /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp 4.端口过滤 vim /etc/sysconfig/iptables -A INPUT -p tcp -m multiport --dport 20,21 -m state --state NEW -j ACCEPT --开启20,21端口 -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT --开启21主动端口 -A INPUT -p tcp --dport 30000:31000 -j ACCEPT --开启被动端口 5.登陆测试
ftp连接方式有两种,一种是PORT,也就是主动连接,一种是PASV,也就是被动模式。两者的具体区别就不讲了,网上资料很多。
我们采用客户端PASV被动模式
首先我们配置linux系统的防火墙iptables(防火墙一定要配好,不然会导致连接不上报227 Entering Passive Mode (182,92,150,235,145,19).错误)
1、编辑/etc/sysconfig/iptables-config文件,添加以下两行:
1
2
|
IPTABLES_MODULES="ip_conntrack_ftp" IPTABLES_MODULES="ip_nat_ftp" |
请一定注意两行内容的位置关系不要搞反了。如果将"ip_nat_ftp"放到前面是加载不到的。如果你的ftp服务是过路由或者防火墙(即内网映射方式一定需要此模块)。以上等同于在加载iptables之前运行modprobe命令加载"ip_nat_ftp"和"ip_conntrack_ftp"模块。
2、iptables文件添加如下两行:
1
2
3
4
|
[root@a ~]# vi /etc/sysconfig/iptables -A -INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -A -INPUT -p tcp -m state --state NEW -m tcp --sport 21 -j ACCEPT -A -INPUT -P tcp --dport 20 -j ACCEPT |
3、检查iptables文件是否存在以下行(默认是有的),如没有则添加;
1
|
-A -INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT |
现在我们开始配置vsftp
安装vsftpd
1、以管理员(root)身份执行以下命令(yum安装vsftp)
1
|
yum install vsftpd |
2、设置开机启动vsftpd ftp服务
1
|
chkconfig vsftpd on |
3、启动vsftpd服务
1
|
service vsftpd start |
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
1
|
vi /etc/vsftpd/vsftpd .conf |
添加ftp用户
下面是添加user用户,设置根目录为/home/wwwroot/user,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf
将底下三行
1
2
3
|
#chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list |
改为
1
2
3
4
5
6
7
|
chroot_list_enable=YES # (default follows) chroot_list_file= /etc/vsftpd/chroot_list |
修改以下参数
1
2
3
4
|
anonymous_enable=NO // 禁用匿名用户登陆 local_enable=YES // 开启本地用户登陆 userlist_enable=NO userlist_deny=YES |
禁止用户登录目录userlist_file=/etc/vsftpd.user_list 若上面userlist_deny=YES 这样/etc/vsftpd.user_list就无法登陆了
3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
1
|
useradd -d /home/wwwroot/user -g ftp -s /sbin/nologin user |
4、设置用户口令
1
|
passwd ftpuser |
5、编辑文件chroot_list:(用来禁止访问用户根目录的上级目录)
1
|
vi /etc/vsftpd/chroot_list |
peter
john
6、重新启动vsftpd
1
|
service vsftpd restart |
标签:
原文地址:http://www.cnblogs.com/archoncap/p/5000877.html