本文以CentOS 7.6为例:
CentOS 6请跳转到以下链接:
1. vsftp简介
vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP,翻译起来就是非常安全的FTP。vsftp是一个安全、高速、稳定、轻量的FTP服务器软件,如果没有特殊要求或者没有其他更好的选择,强烈建议使用此软件提供ftp服务。
2. CentOS 7安装vsftp套件
[root@zcwyou ~]# yum install vsftpd -y
3. 配置开机自启
CentOS7使用systemctl管理程序自启
[root@zcwyou ~]# systemctl enable vsftpd
执行结果:
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
检查验证:
[root@zcwyou ~]# systemctl status vsftpd
enabled表示开机自启动。
4. 防火墙开放端口
如果你的防火墙默认没有开启FTP端口或者服务,CentOS 7防火墙firewalld配置如下:
临时开放FTP服务,马上生效
[root@zcwyou ~]# firewall-cmd --add-service=ftp
永久开放FTP服务,下次重启生效
[root@zcwyou ~]# firewall-cmd --add-service=ftp --permanent
5. 创建ftp用户
以用户ftpuser001为例
[root@zcwyou ~]# useradd ftpuser001 -d /home/ftpuser001 -s /sbin/nologin
只要使用ftpuser001的身份登录FTP服务,即可读取以下目录的内容:
/home/ftpuser001/
6. 为ftp用户设置密码
以用户ftpuser001为例
[root@zcwyou ~]# passwd ftpuser001
输入两次一样的密码
7. 修改配置文件(可选)
不允许匿名用户登录,只能用创建的账号和密码登录。
[root@zcwyou ~]# vi /etc/vsftpd/vsftpd.conf
修改以下内容,默认为YES,即允许匿名用户登录,NO表示不允许:
anonymous_enable=NO
8. 启动vsftp服务
[root@zcwyou ~]# systemctl start vsftpd
以下表明vsftpd成功运行。
9. 设置SElinux标签
如果你没有使用SElinux,不需要配置这步。如果你不清楚自己是否在使用,请按执行以下指令。
查询SElinux对ftp服务器的相关状态
[root@zcwyou ~]# getsebool -a | grep ftp
可以看到,默认情况下,SElinux限制了ftp所有的功能
配置SElinux,允许访问FTP服务:
[root@zcwyou ~]# setsebool -P allow_ftpd_full_access 1
再次检查:
[root@zcwyou ~]# getsebool -a | grep ftp
10. 测试
先创建一个文件,放在FTP共享的目录里
[root@zcwyou ~]# touch /home/ftpuser001/ftp.txt
使用浏览器
如果输入密码后无法进入,或者报530错误:
[root@zcwyou ~]# vi /etc/pam.d/vsftpd
将auth required pam_shells.so
修改为auth required pam_nologin.so
即可
或者
使用FTP专用客户端:
官方下载地址:
https://filezilla-project.org/
评论前必须登录!
注册