centos

如何使用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

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服务器,验证配置是否生效:

7. 可选:增强FTP安全性

0
看了该问题的人还看了