Linux搭建、配置ftp
简单理解一下:ftp是一种文件传输协议,vsftpd是遵循了ftp协议的服务端。
开始之前,我先整理一下必要的命令:
systemctl start vsftpd 启动vsftpd
systemctl stop vsftpd 停止vsftpd
systemctl restart vsftpd 重启vsftpd
systemctl start firewalld 开启防火墙
rpm -q 版本号 →查询 rpm -e 版本号→卸载
useradd/userdel 增加用户/删除用户
vim /etc/vsftpd/vsftpd.conf 进入配置文件
1.安装软件与协议
先查询是否有vsftpd和ftp
rpm -q vsftpf / ftp
安装语句:
yum -y install vsftpd /ftp
设置开机自启和开启vsftpd
systemctl enable vsftpd #开机自启
systemctl start vsftpd #开启vsftpd
2.配置vsftpd.conf文件和主要步骤
(1)修改配置文件:vim /etc/vsftpd/vsftpd.conf
最终如下图:
(2)
重启:systemctl restart vsftpd.service
通过上面的步骤就不能匿名访问ftp了。
(3)添加虚拟用户:useradd 用户名 -s /sbin/nologin
useradd 用户名
设置密码:passwd 用户名
然后就会让你输入两次密码,虽然看不到,但是只要小心点不会出错的,错了就ctrl+backspace(回车键)删除
注:你设置的用户必须把用户名加在chroot_list里面,没有就直接: vim /etc/vsftpd/chroot_list
(4)查看ftp状态:getsebool -a|grep ftp
将红框内的内容设置为“on”:
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
若出现 getsebool: SELinux is disabled 的错误
解决方法:vim /etc/selinux/config
修改:SELINUX=1,然后重启Linux
(5)修改文件权限:
chmod 777 -R /home/用户名
到这里大概就完成了
重启一下:systemctl restart vsftpd.service
查看一下状态,ftp localhost登录一下、本地访问一下、cmd访问一下:ftp 你的IP(有时候本地访问出错看不懂就可以cmd一下,看报错更清楚
之前我就遇见这个问题,然后就去cmd运行一下,就有清楚的报错了:500 OOPS: vsftpd:.........
vim /etc/vsftpd/vsftpd.conf
# 去添加一行配置 allow_writeable_chroot=YES 就可以了,就不会报500 OOPS
(6)电脑本地访问:
注:图片参考:https://blog.csdn.net/qq_41020714/article/details/88069393