centos

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

小樊
40
2025-10-11 04:37:02
栏目: 智能运维

一、安装vsftpd软件包
在CentOS上搭建FTP服务器前,需先安装vsftpd(Very Secure FTP Daemon)——一款轻量、安全的FTP服务软件。通过以下命令完成安装:

sudo yum update -y && sudo yum install vsftpd -y

安装完成后,系统会生成默认配置文件/etc/vsftpd/vsftpd.conf

二、配置vsftpd.conf文件
编辑配置文件以定义FTP服务器的行为,关键参数设置如下(需根据实际需求调整):

sudo vi /etc/vsftpd/vsftpd.conf

三、创建FTP用户并设置权限

  1. 创建系统用户
    为FTP访问创建专用用户(如ftpuser),并设置家目录:
    sudo useradd -m -d /home/ftpuser -s /sbin/nologin ftpuser
    
    -s /sbin/nologin表示该用户无法登录系统shell,仅能通过FTP访问。
  2. 设置用户密码
    sudo passwd ftpuser
    
    输入两次密码完成设置。
  3. 调整目录权限
    确保用户家目录的权限正确(755),避免权限过高导致安全问题:
    sudo chmod 755 /home/ftpuser
    sudo chown ftpuser:ftpuser /home/ftpuser
    
    若需共享其他目录(如/data/ftp),可将用户家目录修改为该目录,并重复上述权限设置:
    sudo mkdir -p /data/ftp
    sudo chown ftpuser:ftpuser /data/ftp
    sudo usermod -d /data/ftp ftpuser
    

四、配置防火墙与SELinux

  1. 防火墙放行端口
    若系统启用firewalld,需放行FTP服务端口(21)及被动模式端口范围(50000-50010):
    sudo firewall-cmd --permanent --add-service=ftp
    sudo firewall-cmd --permanent --add-port=50000-50010/tcp
    sudo firewall-cmd --reload
    
  2. SELinux策略调整(若启用SELinux):
    • 允许FTP访问用户家目录:
      sudo setsebool -P ftp_home_dir 1
      
    • 允许被动模式端口:
      sudo semanage port -a -t ftp_port_t -p tcp 50000-50010
      

五、启动并启用vsftpd服务
配置完成后,启动vsftpd服务并设置为开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

通过sudo systemctl status vsftpd检查服务状态,确保其运行正常(显示“active (running)”)。

六、测试FTP连接
使用FTP客户端(如Windows资源管理器、FileZilla或命令行)连接服务器:

七、可选:安全加固措施

  1. 启用SSL/TLS加密
    安装vsftpd-ssl包,生成SSL证书,修改vsftpd.conf启用SSL(ssl_enable=YESforce_local_data_ssl=YES等),提升数据传输安全性。
  2. 使用虚拟用户
    创建虚拟用户(非系统用户),通过数据库管理用户权限,实现更细粒度的访问控制(如限制特定用户只能访问特定目录)。
  3. 限制IP访问
    在防火墙中设置规则,仅允许可信IP地址访问FTP端口(如sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="21" accept')。

0
看了该问题的人还看了