CentOS与VSFTP配置差异
导读:概念澄清 CentOS 是操作系统;VSFTP 通常指 vsftpd(Very Secure FTP Daemon),是运行在 Linux(含 CentOS)上的 FTP 服务器软件。两者不是同一层级的概念,配置差异本质上是“在不同 Ce...
概念澄清
- CentOS 是操作系统;VSFTP 通常指 vsftpd(Very Secure FTP Daemon),是运行在 Linux(含 CentOS)上的 FTP 服务器软件。两者不是同一层级的概念,配置差异本质上是“在不同 CentOS 版本或不同目标场景下,如何安装与配置 vsftpd”的差异。
核心差异维度
- 软件包与名称
- 在 CentOS 上安装的是 vsftpd 软件包;命令行工具为 yum/dnf;服务单元为 vsftpd.service。日常所说的“vsftp 配置”均指对 vsftpd 的配置。
- 配置文件路径与示例
- 配置文件路径为 /etc/vsftpd/vsftpd.conf;常见基础项包括:anonymous_enable、local_enable、write_enable、chroot_local_user 等。
- 服务管理方式
- 传统 SysV:
service vsftpd start|stop|restart - systemd:
systemctl start|stop|restart|enable vsftpd
- 传统 SysV:
- 防火墙放行
- firewalld:
firewall-cmd --add-service=ftp --permanent & & firewall-cmd --reload - 被动模式需额外放行端口段(见下文“被动模式端口范围”)。
- firewalld:
- SELinux 与布尔值
- 常用:
getsebool -a | grep ftp查看;必要时开启如 ftp_home_dir 等布尔值以允许本地用户家目录访问。
- 常用:
- 用户与权限
- 常创建系统用户并指定 /sbin/nologin 作为 shell,配合目录属主/权限控制;必要时使用 chroot 限制用户根目录。
- 虚拟用户
- 通过 db_load 将明文用户/密码生成数据库文件,实现更细粒度权限控制;虚拟用户常以映射本地用户方式工作,相关权限项与匿名配置项配合使用。
常见配置差异对照表
| 维度 | CentOS 7/8 | CentOS Stream 8/9 | 说明 |
|---|---|---|---|
| 包管理器 | yum | dnf | 安装命令分别为 yum install vsftpd -y、dnf install vsftpd -y |
| 服务单元 | vsftpd.service | vsftpd.service | 均可用 systemctl 管理 |
| 防火墙 | firewalld | firewalld | 放行 FTP 服务或端口段 |
| 被动模式端口 | 需自定义范围 | 需自定义范围 | 见下文被动模式配置 |
| SELinux | 布尔值控制 | 布尔值控制 | 如 ftp_home_dir 等 |
| 日志路径 | 常见为 /var/log/vsftpd.log | 常见为 /var/log/vsftpd.log | 可在 vsftpd.conf 中自定义 |
被动模式与防火墙配置要点
- 在 /etc/vsftpd/vsftpd.conf 中启用并限定端口范围:
pasv_enable=YESpasv_min_port=10060pasv_max_port=10070
- 放行控制端口与数据端口段(firewalld 示例):
firewall-cmd --zone=public --add-port=21/tcp --permanentfirewall-cmd --zone=public --add-port=10060-10070/tcp --permanentfirewall-cmd --reload
- 云服务器还需在云平台安全组放行上述端口。
快速上手示例 CentOS 7/8
- 安装与启动
yum install vsftpd -ysystemctl enable --now vsftpd
- 基础安全配置(/etc/vsftpd/vsftpd.conf)
anonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESpasv_enable=YESpasv_min_port=10060pasv_max_port=10070
- 创建系统用户(禁止登录 shell)
useradd -d /data/ftp -s /sbin/nologin ftpadminpasswd ftpadminchown -R ftpadmin:ftpadmin /data/ftp
- 防火墙放行
firewall-cmd --add-service=ftp --permanent & & firewall-cmd --add-port=10060-10070/tcp --permanent & & firewall-cmd --reload
- SELinux 检查
getsebool -a | grep ftp(按需开启相关布尔值)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS与VSFTP配置差异
本文地址: https://pptw.com/jishu/756284.html
