温馨提示×

Ubuntu vsftpd如何解决权限问题

小樊
55
2025-08-17 12:54:07
栏目: 智能运维

解决Ubuntu vsftpd权限问题可按以下步骤操作:

  1. 安装vsftpd

    sudo apt update && sudo apt install vsftpd  
    
  2. 配置用户权限

    • 创建专用FTP用户(无SSH权限):
      sudo useradd -m ftpuser -s /usr/sbin/nologin  
      sudo passwd ftpuser  
      
    • 设置用户家目录权限(确保可访问):
      sudo chown ftpuser:ftpuser /home/ftpuser  
      sudo chmod 755 /home/ftpuser  
      
    • 若需上传权限,创建可写子目录:
      sudo mkdir /home/ftpuser/upload  
      sudo chown ftpuser:ftpuser /home/ftpuser/upload  
      sudo chmod 775 /home/ftpuser/upload  
      
  3. 修改配置文件
    编辑/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  
    userlist_deny=NO       # 仅允许列表内用户登录  
    
  4. 开放防火墙端口

    sudo ufw allow 21/tcp       # 控制端口  
    sudo ufw allow 30000:31000/tcp  # 被动模式端口范围(若启用)  
    sudo ufw reload  
    
  5. 重启服务并验证

    sudo systemctl restart vsftpd  
    sudo systemctl enable vsftpd  
    

    使用FTP客户端(如FileZilla)测试登录及权限是否正常。

注意:避免将目录权限设为777,优先通过chownchmod精细化控制权限,确保安全性。

0