一、安装vsftpd ftp
yum install vsftpd ftp
二、备份vsftpd中原有的配置文件
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.origin
三、设置vsftpd服务开机自启动
systemctl enable vsftpd.service
四、查看ftp服务的端口
netstat -ntpl | grep vsftpd
ftp打开21端口
五、修改vsftpd的配置文件
cd /etc/vsftpd
vim vsftpd.conf
(1)修改anonymous_enable = NO,这样是禁止匿名用户登录
(2)去掉chroot_local_user = yes前的注释
六、创建ftp用户
useradd -s /sbin/nologin +用户名
按照提示来做就可以
七、临时关闭selinux
setenforce 0,然后重启vsftpd服务,
systemctl restart vsftpd
NOTE:
也可以选择永久关闭selinux
vim /etc/selinux/config
将SELINUX=enforcing 更改为SELINUX=disable;
然后重启虚拟机 reboot
八、进行连接测试
1–首先在虚拟机中
systemctl start vsftpd.service 开启服务
systemctl status vsftpd.service 查看服务状态
(1)ftp localhost
(2)可以打开虚拟机中自带的浏览器
输入 ftp://IP地址,输入用户名和密码即可
2–在windows端
(1)打开浏览器,输入 ftp://IP地址即可;
(2)打开我的电脑,在地址栏输入ftp://IP地址即可;
九、在测试中出现的错误
(1)若出现500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误;
vi /etc/vsftp/vsftpd.conf 添加 allow_writeable_chroot=YES
(2)输入root用户和密码是不能登陆
在vsftp的配置文件中限定了vsftpd用户连接控制
(1)ftpusers:指定了文件中的用户不能访问FTP服务器
(2)user_list:指定了文件中的用户在默认情况下不能访问FTP服务器
(3)在windows下不能连接到虚拟机时,需要更改虚拟机的防火墙配置
1–放开21端口:firewall-cmd --zone=public --add-port=21/tcp --permanent
2–永久开放 ftp 服务:firewall-cmd --add-service=ftp --permanent(关闭ftp服务:firewall-cmd --remove-service=ftp --permanent)
3–在不改变状态的条件下重新加载防火墙:firewall-cmd --reload
NOTE:
可能会用到的命令:
systemctl start firewalld 启动防火墙服务
firewall-cmd --remove-service=ftp --permanent 永久关闭ftp服务
systemctl restart firewalld 重启firewalld服务
firewall-cmd --reload 重载配置文件