1、阿里云后台 开放 21
端口
在阿里云后台添加安全组规则,开放ftp 21
端口
2、安装vsftpd
安装
yum install -y vsftpd
启动vsftpd
systemctl start vsftpd.service
开机自启动vsftpd
systemctl enable vsftpd.service
配置vsftpd
vsftpd 的配置目录为 /etc/vsftpd
修改文件vsftpd.conf // 主配置文件
anonymous_enable=NO
(改为NO) // 禁用匿名用户
local_enable=YES
// 允许使用本地帐户进行FTP用户登录
禁止跳出家目录 (所有的用户均不能切换到其他目录)
chroot_local_user=YES
(改为YES)// 禁止跳出家目录
chroot_list_enable=NO
(默认为NO)
或
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在/etc/vsftpd.chroot_list
文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
如果/etc/vsftpd/chroot_list
不存在,则需要创建该文件
配置文件最后添加
allow_writeable_chroot=YES
否则报错
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
文件上传后,默认的权限
local_umask=0
时,上传的文件夹默认权限是777,上传的文件默认权限是666
local_umask=022
(默认)时,上传的文件夹默认权限是755,上传的文件默认权限是644
3、添加用户
创建一个用户 ftpuser
useradd ftpuser
限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftpuser
设置为用户的主目录
usermod -d /var/ftp ftpuser
或直接
useradd -s /sbin/nologin -d /var/www/html ftpuser
然后给家目录修改权限,否则你无法上传文件
为用户 ftpuser 设置密码
passwd ftpuser
输入两遍密码即可
4、firewalld
关闭 firewalld
或 开放 ftp服务
相关命令
临时关闭防火墙 systemctl stop firewalld
临时打开防火墙 systemctl start firewalld
防火墙开机自启动 systemctl enable firewalld
防火墙开机不自启动 systemctl disable firewalld
查看防火墙状态 systemctl status firewalld
重启防火墙 systemctl restart firewalld
暂时开放 ftp 服务
firewall-cmd --add-service=ftp
永久开放 ftp 服务
firewall-cmd --add-service=ftp --permanent
永久关闭ftp服务
firewall-cmd --remove-service=ftp --permanent