温馨提示×

Debian FTPServer如何进行多用户管理

小樊
49
2025-08-13 06:47:20
栏目: 智能运维

Debian系统使用vsftpd实现多用户管理,步骤如下:

  1. 安装vsftpd

    sudo apt update && sudo apt install vsftpd  
    
  2. 配置基础权限
    编辑配置文件 /etc/vsftpd.conf,启用本地用户登录、写权限及chroot限制:

    local_enable=YES  
    write_enable=YES  
    chroot_local_user=YES  
    allow_writeable_chroot=YES  
    
  3. 创建系统用户
    为每个FTP用户创建系统账户(可禁止SSH登录):

    sudo adduser ftpuser1  # 创建用户  
    sudo passwd ftpuser1   # 设置密码  
    sudo usermod -s /sbin/nologin ftpuser1  # 禁止SSH登录(可选)  
    sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1  # 设置家目录权限  
    sudo chmod 755 /home/ftpuser1  
    
  4. (可选)虚拟用户管理

    • 创建虚拟用户数据库:
      sudo touch /etc/vsftpd/virtual_users.txt  
      echo "user1:password1" | sudo tee -a /etc/vsftpd/virtual_users.txt  
      sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db  
      
    • 配置PAM认证:
      编辑 /etc/pam.d/vsftpd,添加:
      auth required pam_userdb.so db=/etc/vsftpd/virtual_users  
      account required pam_userdb.so db=/etc/vsftpd/virtual_users  
      
    • 启用虚拟用户:
      /etc/vsftpd.conf 中设置:
      guest_enable=YES  
      guest_username=ftpuser  
      virtual_use_local_privs=YES  
      user_sub_token=$USER  
      local_root=/home/$USER/ftp  
      
  5. 重启服务生效

    sudo systemctl restart vsftpd  
    
  6. 测试连接
    使用FTP客户端(如FileZilla)输入用户名/密码登录,验证是否限制在各自家目录。

说明

  • 系统用户适合需要独立权限的场景,虚拟用户适合批量管理且无需本地shell访问的用户。
  • 可通过 max_clientsmax_per_ip 等参数控制并发连接数。
  • 确保防火墙开放FTP端口(默认21)。

0