debian

Debian下vsftp的用户权限

小樊
35
2025-10-23 07:24:32
栏目: 智能运维

在Debian下配置vsftpd时,用户权限是一个重要的安全设置。以下是一些关键的用户权限设置和步骤:

1. 安装vsftpd

首先,确保你已经安装了vsftpd:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

关键配置项

3. 用户权限设置

本地用户

虚拟用户

如果你使用虚拟用户,需要配置PAM(Pluggable Authentication Modules):

  1. 安装必要的包:

    sudo apt install libpam-pwdfile
    
  2. 创建虚拟用户数据库文件:

    sudo touch /etc/vsftpd/virtual_users.txt
    sudo chmod 600 /etc/vsftpd/virtual_users.txt
    
  3. 编辑 /etc/pam.d/vsftpd 文件,添加以下行:

    auth required pam_pwdfile.so pwdfile /etc/vsftpd/virtual_users.txt
    account required pam_pwdb.so
    
  4. 创建虚拟用户数据库:

    sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    
  5. 编辑 /etc/vsftpd.conf 文件,添加以下行:

    guest_enable=YES
    guest_username=ftpuser
    virtual_use_local_privs=YES
    user_sub_token=$USER
    local_root=/home/$USER
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  6. 重启vsftpd服务:

    sudo systemctl restart vsftpd
    

4. 用户列表

如果你启用了用户列表,确保 /etc/vsftpd.userlist 文件中列出了允许登录的用户,并且 /etc/vsftpd.userlist_deny 设置为 NO

5. 防火墙设置

确保防火墙允许FTP流量:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

6. SELinux(如果启用)

如果你使用SELinux,确保它不会阻止vsftpd的正常运行:

sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on

通过以上步骤,你可以配置Debian下的vsftpd用户权限,确保安全性和功能性。

0
看了该问题的人还看了