ubuntu

Ubuntu vsftpd权限设置详解

小樊
39
2025-08-13 12:34:32
栏目: 智能运维

Ubuntu vsftpd权限设置主要涉及用户权限、目录权限及安全配置,以下是关键要点:

一、用户权限配置

  1. 系统用户创建

    • 创建专用FTP用户(无SSH权限):
      sudo useradd -m -s /sbin/nologin ftpuser  # 禁止登录系统  
      sudo passwd ftpuser  # 设置密码  
      
  2. 配置文件权限控制

    • 编辑 /etc/vsftpd.conf
      • local_enable=YES:允许本地用户登录。
      • write_enable=YES:允许上传/删除文件。
      • chroot_local_user=YES:限制用户仅能访问其主目录。
      • allow_writeable_chroot=YES:允许chroot目录可写(避免权限冲突)。
      • userlist_enable=YES + userlist_file=/etc/vsftpd.user_list:通过白名单控制可登录用户。

二、目录权限设置

  1. 用户主目录权限
    • 创建用户FTP根目录并授权:
      sudo mkdir -p /home/ftpuser/ftp  
      sudo chown ftpuser:ftpuser /home/ftpuser/ftp  # 所有权归用户  
      sudo chmod 755 /home/ftpuser/ftp  # 主目录可读可执行(不可写,避免越权)  
      
    • 若需上传文件,单独创建可写子目录:
      sudo mkdir /home/ftpuser/ftp/upload  
      sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload  
      sudo chmod 775 /home/ftpuser/ftp/upload  # 允许用户读写执行  
      
      

三、安全增强配置

  1. 被动模式端口范围

    • 避免使用默认端口,指定被动模式端口段(如30000-31000):
      pasv_enable=YES  
      pasv_min_port=30000  
      pasv_max_port=31000  
      
  2. 防火墙规则

    • 放行FTP控制端口(21)及被动模式端口:
      sudo ufw allow 21/tcp  
      sudo ufw allow 30000:31000/tcp  
      sudo ufw reload  
      
  3. 加密传输(可选)

    • 启用SSL/TLS(需提前配置证书):
      ssl_enable=YES  
      rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem  
      rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key  
      

四、验证与重启

关键安全原则

0
看了该问题的人还看了