如何在CentOS Stream 9上通过传统安装和docker-compose部署FTP应用服务?

摘要:以下是CentOS Stream 9上部署FTP应用服务的两种方法详解,包括操作步骤、注意事项及生产环境应用对比: 一、原生安装 vsftpd 服务 原理:直接通过系统包管理器安装vsftpd,配置系统级服务。 操作步骤: 安装与启动 ba
以下是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 原理:使用容器化技术隔离服务,简化依赖管理和部署。
阅读全文