FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20用于进行数据传输,端口21用于接受客户端发出的相关FTP命令与参数。
FTP协议有下面两种工作模式。
主动模式:FTP服务器主动向客户端发起连接请求。
被动模式:FTP服务器等待客户端发起连接请求(默认工作模式)。
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,开源免费。具有很高的安全性、传输速度,以及支持虚拟用户验证等特点。
1.安装vsftpd服务程序(提前配置好软件仓库)
[root@dsrw ~]# dnf install vsftpd
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:11:11:12 前,执行于 2022年12月19日 星期一 23时07分22秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
Installing:
vsftpd x86_64 3.0.3-28.el8 AppStream 180 k
事务概要
================================================================================
安装 1 软件包
总计:180 k
安装大小:356 k
确定吗?[y/N]: y
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
Installing : vsftpd-3.0.3-28.el8.x86_64 1/1
运行脚本 : vsftpd-3.0.3-28.el8.x86_64 1/1
验证 : vsftpd-3.0.3-28.el8.x86_64 1/1
Installed products updated.
已安装:
vsftpd-3.0.3-28.el8.x86_64
完毕!
2.清空iptables并保存,FTP协议添加到firewalld服务的允许列表中
[root@dsrw ~]# iptables -F
[root@dsrw ~]# iptables-save
[root@dsrw ~]# firewall-cmd --permanent --zone=public --add-service=ftp
success
[root@dsrw ~]# firewall-cmd --reload
Success
3.配置vsftpd服务程序的主配置文件,简化配置文件内容
[root@dsrw ~]#cat /etc/vsftpd/vsftpd.conf
[root@dsrw ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsft pd/vsftpd.conf_bak
[root@dsrw ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@dsrw ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
vsftpd服务程序常用的参数以及作用
listen=[YES|NO]:是否以独立运行的方式监听服务
listen_address=IP地址 设置要监听的IP 地址
listen_port=21:设置FTP 服务的监听端口
download_enable=[YES|NO]:是否允许下载文件
userlist_enable=[YES|NO]:设置用户列表为允许还是禁止操作
userlist_deny=[YES|NO]
max_clients=0:最大客户端连接数,0 为不限制
max_per_ip=0:同一IP 地址的最大连接数, 0 为不限制
anonymous_enable=[YES|NO]:是否允许匿名用户访问
anon_upload_enable=[YES|NO]:是否允许匿名用户上传文件
anon_umask=022:匿名用户上传文件的umask 值
anon_root=/var/ftp:匿名用户的FTP 根目录
anon_mkdir_write_enable=[YES|NO]:是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO]:是否开放匿名用户的其他写入权限(包括重命
名、删除等操作权限)
anon_max_rate=0:匿名用户的最大传输速率(字节秒), 0 为不限制
local_enable=[YES|NO]:是否允许本地用户登录FTP
local_umask=022:本地用户上传文件的umask 值
local_root=/var/ftp:本地用户的FTP 根目录
chroot_local_user=[YES|NO]:是否将用户权限禁锢在FTP 目录,以确保安全
local_max_rate=0:本地用户最大传输速率(字节秒), 0 为不限制
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
请登录后查看评论内容