温馨提示×

如何使用CentOS FTP Server进行文件共享

小樊
40
2025-10-26 02:01:41
栏目: 智能运维

1. 安装vsftpd软件包
在CentOS系统上,使用yum包管理器安装vsftpd(Very Secure FTP Daemon),这是CentOS下最常用的FTP服务器软件:

sudo yum install vsftpd -y

2. 配置vsftpd核心参数
编辑vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,修改以下关键参数以实现安全、可控的文件共享:

sudo vi /etc/vsftpd/vsftpd.conf
  • 启用本地用户登录local_enable=YES(允许系统用户通过FTP登录);
  • 允许文件上传write_enable=YES(赋予用户上传文件的权限);
  • 锁定用户至主目录chroot_local_user=YES(将用户限制在自己的家目录,防止访问系统其他文件);
  • 允许chroot目录可写allow_writeable_chroot=YES(若启用chroot,需设置此选项,否则用户无法上传文件至家目录);
  • 禁用匿名访问anonymous_enable=NO(禁止匿名用户登录,提升安全性);
  • 可选:配置被动模式(解决NAT/防火墙环境下的连接问题):
    pasv_enable=YES
    pasv_min_port=50000
    pasv_max_port=50010
    pasv_address=服务器公网IP  # 若服务器在NAT后,需填写公网IP
    

3. 创建FTP用户并设置权限
创建专门用于FTP访问的用户(如ftpuser),并配置其家目录权限:

# 创建用户(-m参数自动创建家目录)
sudo useradd -m ftpuser
# 设置用户密码
sudo passwd ftpuser
# 修改家目录权限(确保用户可读写)
sudo chmod 755 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser

若需共享其他目录(而非用户家目录),可将用户家目录修改为目标目录,并调整SELinux上下文:

# 创建共享目录
sudo mkdir -p /data/ftp_shared
# 修改目录所有者
sudo chown ftpuser:ftpuser /data/ftp_shared
# 修改SELinux上下文(允许FTP访问)
sudo restorecon -Rv /data/ftp_shared
# 修改用户家目录
sudo usermod -d /data/ftp_shared ftpuser

4. 配置防火墙放行FTP流量
若系统启用了firewalld(CentOS默认防火墙),需放行FTP服务端口(默认21)及被动模式端口范围(如50000-50010):

# 放行FTP服务(包含21端口)
sudo firewall-cmd --permanent --add-service=ftp
# 放行被动模式端口范围
sudo firewall-cmd --permanent --add-port=50000-50010/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload

若使用iptables,可执行以下命令:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 50000:50010 -j ACCEPT
sudo service iptables save

5. 启动并启用vsftpd服务
启动vsftpd服务,并设置为开机自启,确保服务器重启后FTP服务仍可用:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd
# 检查服务状态(确认服务运行中)
sudo systemctl status vsftpd

6. 测试FTP连接
使用FTP客户端(如FileZilla、Windows资源管理器或命令行)连接FTP服务器,验证配置是否生效:

  • 命令行测试(适用于Linux/macOS):
    ftp 服务器IP地址
    # 输入用户名(如ftpuser)和密码
    # 执行上传/下载命令(如put local_file.txt、get remote_file.txt)
    
  • FileZilla测试(适用于Windows):
    打开FileZilla,在“主机”栏输入服务器IP,“用户名”“密码”填写FTP用户信息,点击“快速连接”,连接成功后可查看、上传、下载文件。

7. 可选:增强FTP安全性

  • 使用SSL/TLS加密连接:避免数据明文传输,配置步骤包括生成SSL证书、修改vsftpd.conf(启用ssl_enable=YES、指定证书路径),具体可参考vsftpd官方文档;
  • 限制IP访问:通过防火墙规则(如firewall-cmd --add-rich-rule='rule family="ipv4" source address="可信IP" accept')仅允许可信IP访问FTP服务;
  • 禁用匿名访问:确保anonymous_enable=NO,防止未授权用户访问共享文件。

0