FTP(文件传输协议)是服务器管理中常用的文件共享工具。本文以CentOS系统为例,详细介绍从零搭建FTP服务器(使用vsftpd)的完整流程,涵盖安装配置、权限管理、本地/远程连接测试等操作,并重点讲解Windows系统远程访问FTP服务的多种方法。
一、安装 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
操作说明: • 上传文件:将本地文件拖拽到资源管理器窗口内。
• 下载文件:将服务器文件拖拽到本地文件夹。
• 限制:不支持大文件传输和断点续传,仅适合简单操作。
2. 使用命令行(cmd/PowerShell)访问
打开命令提示符或PowerShell,执行以下命令:
ftp 192.168.1.100 # 连接服务器
输入用户名和密码:
Name: ftpuser
Password: ********
常用命令: • 上传文件:
put C:\\test.txt
• 下载文件:
get server.txt C:\\
• 查看目录:
ls
• 退出连接:
quit
七、安全建议
八、常见问题
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策略及日志文件。实践过程中如有疑问,欢迎随时交流!
新时代农民工
评论前必须登录!
注册