注:需用root来执行
1、 安装vsftpd
# yum update 更新源
# yum install vsftpd 安装vsftpd服务器
2、配置vsftpd.
# vi /etc/vsftpd/vsftpd.conf 配置vsftpd主配置文件
找到如下项目更改或打开#
anonymous_enable=NO 禁止匿名访问
#ascii_upload_enable 允许使用ascii码上传
#ascii_download_enable 允许使用ascii码下载
chroot_list_enable=YES 限制ftp用户访问家目录外的目录
chroot_list_file=/etc/vsftpd/chroot_list 限制ftp用户访问家目录外的目录用户列表:
在末尾添加如下代码,以开启被动模式,更好支持FlashFxp等ftp工具
pasv_enable=YES
pasv_min_port=20000 #开放的端口
pasv_max_port=30000
注:在末尾加一句 local_root=/install 则以后不论什么用户登录ftp,都会进入这个目录。貌似用户第一次登录会进入/home/用户名 目录。重启之后就进入 /install 目录里了
3、配置防火墙,开放21等端口
防火墙配置在/etc/sysconfig/iptables里,但是centos6.8里没有这个文件。首先生成这个文件
1)任意运行一条iptables防火墙规则配置命令:
# iptables -P OUTPUT ACCEPT
2)对iptables服务进行保存
# service iptables save
3)重启iptables服务
# service iptables restart
经过这三步,/etc/sysconfig/iptables就存在了。然后进行如下操作:
# vi /etc/sysconfig/iptables
在[commit]上方加上如下两行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 开放21端口
-A INPUT -p tcp --dport 20000:20100 -j ACCEPT 开发20000-30000端口:
4、重启防火墙和启动vsftpd服务器
重启防火墙:#service iptables restart
重启vsftpd服务器:#service vsftpd start (注意,如果vsftpd 已经启动了,则这时候再启动就是失败的。可以关闭再重启即可)
5、添加ftp用户
# adduser -g ftp -s /sbin/nologin barley 添加了barley的ftp用户
#useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin barley(也可以使用这个) 注: /home..是ftp的目录,不用手动创建
# passwd barley 为barley设置密码,输入两遍就好了
6、将添加的用户写入 vim /etc/vsftpd/chroot_list
barley
注1: 如果中途修改了ftpd的配置文件的话,记得重新启动下vsftpd: # service vsftpd restart;
注2: 如果是阿里云的主机,添加了防火墙后,记得去ECS主机里的安全组策略里开放相应的端口