本文并非深入讨论vsftp配置的文章,仅以能连通为目的,适合那些临时需要上传点东西到服务器的场景。
一、安装
dnf -y update
dnf -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
二、防火墙
开放21端口:
firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd –-reload
或者干脆彻底清空防火墙规则:
nft flush ruleset
然后看看vsftpd的21端口运行起来没有:
netstat -tunlp
三、配置vsftpd
配置文件位于:/etc/vsftpd/vsftpd.conf
首先备份一下:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
然后编辑它:
nano /etc/vsftpd/vsftpd.conf
修改源文件,让它保持下面这个样子:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
#以下几行是源文件没有的,需要新增:
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
重启vsftpd:
systemctl restart vsftpd
四、添加用户
- adduser testuser (系统将自动在/home目录下创建testuser目录)
- passwd testuser (设置密码)
- echo “testuser” | sudo tee –a /etc/vsftpd/user_list
这个指令相当于就是在user_list文件的行末添加一行: testuser
mkdir –p /home/testuser/ftp/upload
chmod 550 /home/testuser/ftp
chmod 750 /home/testuser/ftp/upload
chown –R testuser: /home/testuser/ftp
五、测试
本地测试: ftp localhost
输入testuser 和 密码,如果ftp 报错,则先安装一下:dnf -y install ftp
远程测试:ftp 123.123.123.123 (换成你的IP)
测试方法和本机完全一样。
在命令行下操作ftp比较麻烦,要记一堆命令,使用GUI会方便一些:
https://filezilla-project.org/download.php?type=client
filezilla是一个老牌ftp客户端,在此不过多作介绍,可前往以上网址自行下载。
六、进阶
本文仅介绍了vsftp最简单的连接方法,还有很多功能需要学习,此处为官方进阶文章:
https://docs.rockylinux.org/guides/file_sharing/secure_ftp_server_vsftpd/