提示FTP服务的软件有很多,在这里我就以 vsftp 为例。并且是在 centos 7 环境下安装的。

(https://jingyan.baidu.com/article/380abd0a77ae041d90192cf4.html)

服务器端 FTP

vsftp 安装

1. # yum install vsftpd

输入上面的安装代码后,不久会有类似is this ok[y/N]:直接输入Y继续就可以了。

vsftp 配置

安装完之后我们就可以进入FTP的配置文件作相关配置了。

1. # vi /etc/vsftpd/vsftpd.conf

定位到

1. anonymous_enable=YES

按下键盘i盘进入编辑模式 把YES改成NO

1. anonymous_enable=NO

这样就可以了。这里的anonymous_enable=NO意思是不允许匿名登录FTP

设置完以后,按下 Esc 退出编辑模式,再按下:wq保存退出。

接下来我们就可以启用这个 vsftp 服务了。

1. # systemctl start vsftpd.service

为了避免我们重启服务器后忘记开启FTP服务,我们可以让FTP服务在服务器每次重启后都自动启动。

1. # systemctl enable vsftpd.service

创建用户

接下来我们就要以创建一个用户,并给这个用户指定一个目录。

建立ftp账户

# 创建用户 user 指定 `/home/vsftpd` 目录(项目存放位置)

(该用户在/home/vsftpd目录下,之后上传的项目也在这里,可以建在/var/www/html下)

useradd -g root -M -d /var/www/html -s /sbin/nologin user

# 设置用户 user 的密码

passwd user

-s:禁止此用户登录SSH的权限
/sbin/nologin:不允许此用户登录系统,但可以登录FTP

设置用户密码

用户创建好后,我们还得给他设置一个登录密码

1. # passwd yunkus

回车,输入密码即可(需输入两次)
这样就完成了服务器端的FTP服务的配置

打开防火墙21端口

firewall-cmd --zone=public --add-port=21/tcp --permanent

再重启防火墙服务

systemctl restart firewalld.service

解决下载到本地失败的:

给文件夹添加权限  chmod 777 -R xxx

客户端 8uftp开始登陆

530错误:https://blog.csdn.net/bamuta/article/details/7821607

一直获取不到列表

站点管理器---选择站点-----高级---选择活动模式-----确定

chroot_local_user=YES

#去掉前面的注释

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd/chroot_list

#不受限制的用户列表,用不用都OK

allow_writeable_chroot=YES

#加上这行解决了无法登陆的问题