转自https://www.cnblogs.com/zhuozhang/articles/7856723.html
1.检查centos是否安装vsftpd
[root@localhost ***]# rpm -aq vsftpd
vsftpd-3.0.2-22.el7.x86_64 #查询的返回结果,表明已安装
若要卸载Vfstpd:
[root@localhost ***]# rpm -e vsftpd-3.0.22-22.el7.x86_64
由于我的vsftpd服务已搭建好,所以就不给演示删除,但我之前配置错误,用此方法删除是没有问题的
查看是否卸载了vsftpd:
[root@localhost ***]# /sbin/service vsftpd stop
[root@localhost ***]# /sbin/service vsftpd start
#在卸载vsftpd之前要 先停止vsftpd
2.安装vsftpd
[root@localhost ***]# yum -y install vsftpd
3.修改vsftpd.conf文件
[root@localhost ***]# vi /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
local_root=/var/public_root
tcp_wrappers=YES
use_localtime=YES
allow_writeable_chroot=YES
最后一句,为了解决“当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时遇到的错误”:
1 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
这个问题发生在最新的这是由于下面的更新造成的:
1 Add stronger checks for the configuration error of running with a writeable root directory inside a chroot()
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加标红的最后一句话
3.添加ftp账户
为了方便记忆,这里设置的账户为vsftpd、密码为123456
1 [root@localhost ***]# useradd vsftpd -s /sbin/nologin
2 [root@localhost ***]# passwd vsftpd
此处设置为:manager123
4.编辑user_list文件,允许vsftpd访问ftp
1 [root@localhost ***]# vi /etc/vsftpd/user_list
最后添加:vsftpd
5.建立根目录,设置访问权限
1 [root@localhost ***]# mkdir /var/public_root
2 [root@localhost ***]# chown -R vsftpd /var/public_root
3 [root@localhost ***]# chmod -R 755 /var/public_root
6.关闭防火墙或开放21端口
ftp设置好了之后,服务启动了但连接失败,ftp默认是21号端口,但Linux的21端口默认是关闭的,关闭防火可以解决,但不推荐
1 firewall-cmd –state ----> 查看防火墙状态
2 service firewalld start ----> 启动防火墙
3 service firewalld restart ----> 重启防火墙
4 service firewalld stop -----> 关闭防火墙
5 firewall-cmd --query-port=21/tcp ----->查询端口是否开放
6 firewall-cmd --permanent --add-port=21/tcp ----->开放21端口
7 firewall-cmd --permanent --remove-port=21/tcp ----->移除端口
8 firewall-cmd --reload ----->重启防火墙(修改配置后要重启防火墙)
7.开启vsftpd服务
1 [root@localhost ***]# service vsftpd start
2 [root@localhost ***]# systemctl status vsftpd.service #查看vsftpd服务状态
3 [root@localhost ***]# systemctl restart vsftpd.service #重启vsftpd服务
8.设置开机启动vsftpd服务
1 [root@localhost ***]# chkconfig vsftpd on
/
直接安装安装包
rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm
安装包下载链接:
(https://download.csdn.net/download/u012386530/63725250)