在CentOS服务器上快速搭建FTP服务的完整流程


    目录
  • 一、安装 vsftpd
    • 1. 安装命令
    • 2. 启动服务并设置开机自启
  • 二、配置 vsftpd
  • 三、防火墙与SELinux配置
    • 1. 防火墙放行端口(若启用)
    • 2. SELinux策略(若未禁用)
  • 四、创建FTP用户并测试
    • 1. 创建用户
    • 2. 本地登录测试
  • 五、修改用户默认目录路径(可选)
  • 六、Windows远程访问FTP服务
    • 1. 通过Windows资源管理器访问
    • 2. 使用命令行(cmd/PowerShell)访问
  • 七、安全建议
  • 八、常见问题
    • 1. 上传文件权限被拒绝
    • 2. 被动模式超时
    • 3. 查看日志定位问题
  • 总结

    一、安装 vsftpd
    1. 安装命令
    
sudo yum install vsftpd -y

    2. 启动服务并设置开机自启
    
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

    二、配置 vsftpd
    配置文件路径:/etc/vsftpd/vsftpd.conf
    修改以下核心参数:
    
anonymous_enable=NO          # 禁用匿名登录
local_enable=YES             # 允许本地用户登录
write_enable=YES             # 允许文件上传
chroot_local_user=YES        # 限制用户仅能访问家目录
allow_writeable_chroot=YES   # 允许在受限目录写入
local_umask=022              # 文件默认权限644

# 被动模式配置(解决NAT/防火墙问题)
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
pasv_address=公网IP          # 若服务器在NAT后需填写

    保存后重启服务生效:
    
sudo systemctl restart vsftpd

    三、防火墙与SELinux配置
    1. 防火墙放行端口(若启用)
    
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=50000-50010/tcp
sudo firewall-cmd --reload

    2. SELinux策略(若未禁用)
    
sudo setsebool -P ftp_home_dir 1
sudo semanage port -a -t ftp_port_t -p tcp 50000-50010

    四、创建FTP用户并测试
    1. 创建用户
    
sudo useradd -m ftpuser
sudo passwd ftpuser
sudo chmod 750 /home/ftpuser

    2. 本地登录测试
    
ftp localhost
# 输入用户名密码后执行:
ftp> put test.txt  # 上传测试文件
ftp> ls            # 查看文件是否上传成功

    五、修改用户默认目录路径(可选)
    
sudo mkdir -p /data/ftp
sudo chown ftpuser:ftpuser /data/ftp
sudo usermod -d /data/ftp ftpuser
sudo restorecon -Rv /data/ftp  # SELinux环境需执行

    六、Windows远程访问FTP服务
    1. 通过Windows资源管理器访问

  •     打开 此电脑 → 地址栏输入:
        

    
ftp://用户名:密码@服务器IP:端口

    示例:
    
ftp://ftpuser:123456@192.168.1.100:21

    

  1.     操作说明:
        • 上传文件:将本地文件拖拽到资源管理器窗口内。
        • 下载文件:将服务器文件拖拽到本地文件夹。
        • 限制:不支持大文件传输和断点续传,仅适合简单操作。
        

    2. 使用命令行(cmd/PowerShell)访问
  • 打开命令提示符或PowerShell,执行以下命令:

    
ftp 192.168.1.100  # 连接服务器

    
  • 输入用户名和密码:

    
Name: ftpuser
Password: ********

    
  • 常用命令:

    上传文件:
    
put C:\test.txt

    查看目录:
    
ls

    退出连接:
    
quit

    七、安全建议
  • 禁用匿名登录:确保配置中 anonymous_enable=NO
  • 使用SFTP替代FTP:通过SSH协议传输文件(sftp user@服务器IP)。
  • 限制IP访问:在防火墙中仅允许可信IP访问FTP端口。

    八、常见问题
    1. 上传文件权限被拒绝
    • 检查目录权限:
    
ls -ld /home/ftpuser  # 权限应为 drwxr-x---(750)

    • 确认配置项:
    
write_enable=YES
allow_writeable_chroot=YES

    2. 被动模式超时
    • 服务器端检查:
    • 确认 pasv_address 填写正确。
    • 开放 50000-50010 端口。
    3. 查看日志定位问题
    
sudo tail -f /var/log/vsftpd.log  # 实时查看日志

    总结
    通过以上步骤,您已成功在CentOS服务器上搭建FTP服务,并可通过Windows系统远程访问和管理文件。若遇到连接问题,优先检查防火墙、SELinux策略及日志文件。
    到此这篇关于在CentOS服务器上快速搭建FTP服务的完整流程的文章就介绍到这了,更多相关CentOS搭建FTP服务内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!