1:ftp服务器安装
1.1检查是否安装了vsftpd服务
rpm -q vsftpd
1.2通过yum在线安装
yum install -y vsftpd
1.3:修改配置文件
- /etc/vsftpd/vsftpd.conf 是主配置文件,核心配置文件
- 使用 vim vsftpd.conf 打开并编辑主配置文件
- 注:一般模式下输入":set nu"显示行号以便查找,按i或a进入编辑模式
1.3.1:需要修改的配置
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
1.3.2:尾部需要添加的配置
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_root=/home/vsftpd
1.3.3:默认情况下,图片只能上传到根路径下。如果想要上传到指定的目录中,可以通过ftp创建目录;
默认是不能自动创建该文件的,如果要创建需要修改配置文件;
原因一:
修改vsftpd.conf文件中的chroot_local_user=NO,
并重启 systemctl restart vsftpd.service;
原因二:
makeDirectory(path)中path的上一级目录是否存在,如果不存在则创建失败,即makeDirectory只能逐级创建;
1.4配置登录用户
//创建用户,myftp为用户名
useradd myftp
//为用户myftp设置密码
passwd myftp
1.5配置防火墙
1.5.1添加FTP到白名单
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
1.5.2临时放宽SELinux的控制权限,即更改SELinux为Permissive模式
临时性
//查看当前SELinux模式
getenforce
//更改当前模式为Permissive模式
setenforce 0
永久
vi /etc/selinux/config
SELINUX=enforcing <==调整 enforcing|disabled|permissive
1.5.1修改SELinux对FTP的控制权限
//使用getsebool -a | grep -i ftp查看相关权限,on表示允许,off表示不允许
//开启匿名上传
setsebool -P ftpd_anon_write=1
1.5.1开放端口号 21、20
//开放21端口号
firewall-cmd --zone=public --add-port=21/tcp --permanent
//开放20端口号
firewall-cmd --zone=public --add-port=20/tcp --permanent
//查看已开放的端口号
firewall-cmd --list-ports
1.5.1修改完成后重启防火墙和vsftpd服务
//重启防火墙
firewall-cmd --reload
//重启vsftpd服务
systemctl start vsftpd
vsftpd常用命令:
状态 systemctl status vsftpd.service
启动 systemctl start vsftpd.service
关闭 systemctl enable vsftpd.service
重启 systemctl restart vsftpd.service
开机启动 systemctl enable vsftpd.service