以下是CentOS Stream 9上部署FTP应用服务的两种方法详解,包括操作步骤、注意事项及生产环境应用对比:
一、原生安装 vsftpd 服务
原理:直接通过系统包管理器安装vsftpd,配置系统级服务。
操作步骤:
安装与启动
bash
sudo dnf install vsftpd -y # 安装vsftpd:cite[4]:cite[9]
sudo systemctl start vsftpd # 启动服务
sudo systemctl enable vsftpd # 设置开机自启:cite[5]
核心配置(编辑/etc/vsftpd/vsftpd.conf)
ini
anonymous_enable=NO # 禁用匿名登录:cite[4]:cite[9]
local_enable=YES # 允许本地用户
write_enable=YES # 开放写权限
chroot_local_user=YES # 限制用户在家目录
allow_writeable_chroot=YES # 允许写受限目录:cite[4]
# 被动模式配置(解决防火墙/NAT问题)
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
pasv_address=服务器公网IP # 若在NAT后需填写:cite[4]:cite[9]
保存后重启:sudo systemctl restart vsftpd
防火墙与SELinux
bash
# 防火墙放行端口
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=50000-50010/tcp:cite[4]:cite[9]
sudo firewall-cmd --reload
# SELinux策略(若启用)
sudo setsebool -P ftp_home_dir 1 # 允许FTP访问家目录
sudo semanage port -a -t ftp_port_t -p tcp 50000-50010 # 开放被动端口:cite[4]
创建FTP用户
bash
sudo useradd -m ftpuser # 创建用户
sudo passwd ftpuser # 设置密码
sudo chmod 750 /home/ftpuser # 限制目录权限:cite[4]:cite[9]
测试连接
bash
ftp localhost # 本地测试
> put test.txt # 上传文件
> ls # 查看文件
注意事项:
目录权限:确保用户目录权限为750(命令ls -ld /home/ftpuser验证)。
被动模式超时:检查pasv_address是否为公网IP,防火墙需开放被动端口范围。
SELinux干扰:若遇权限问题,可临时setenforce 0测试,但生产环境建议配置策略而非禁用。
日志排查:实时监控日志tail -f /var/log/vsftpd.log定位错误。
二、Docker-Compose 部署 vsftpd
原理:使用容器化技术隔离服务,简化依赖管理和部署。
如何在CentOS Stream 9上通过传统安装和docker-compose部署FTP应用服务?
摘要:以下是CentOS Stream 9上部署FTP应用服务的两种方法详解,包括操作步骤、注意事项及生产环境应用对比: 一、原生安装 vsftpd 服务 原理:直接通过系统包管理器安装vsftpd,配置系统级服务。 操作步骤: 安装与启动 ba
