(对于管理员用windterm可以进行sftp传输,无需安装ftp服务)
参考:https://blog.csdn.net/weixin_45688268/article/details/126337169,有更详细的设置
1、查询是否系统已经自带了vsftpd :rpm -q vsftpd
2、安装ftp:yum -y install vsftpd
3、启动服务:systemctl start vsftpd.service
设置开机启动:systemctl enable vsftpd.service
4、创建ftp用户:useradd ftpuser
更改密码:passwd ftpuser
5、创建目录并授权:
创建ftp文件根目录:mkdir -p /data/ftp/ftpuser
为该目录配置权限:chmod -R 755 /data/ftp/ftpuser
新建FTP用户可写目录:
mkdir -p /data/ftp/ftpuser/upload
chown ftpuser:ftp /data/ftp/ftpuser/upload
chmod 755 /data/ftp/ftpuser/upload
6、编辑配置文件:vim /etc/vsftpd/vsftpd.conf
关键设置:
*允许用户列表中的用户(必须设置为NO)
userlist_enable=NO
* 关闭匿名访问:
anonymous_enable=NO
* 控制用户能否切换目录:
下面设置限制用户只能在自己的目录活动
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
通过搭配能实现以下几种效果:
①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录
②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录
③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录
④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录
7、允许新建用户登录FTP:vim /etc/vsftpd/user_list
将新建用户ftpuser添加到/etc/vsftpd/user_list文件末尾
8、防火墙开通端口:
主机上自带的防火墙如何开启,自行查询;
如果是腾讯云,在控制台上开启防火墙。
已登录,但filezilla读取目录列表失败:
此问题涉及到了FTP协议以及腾讯云的网络架构,我们将FTP客户端的传输模式改为主动即可。