debian

Debian上vsftp如何设置虚拟用户

小樊
42
2025-08-30 03:09:26
栏目: 云计算

在Debian上设置vsftpd虚拟用户需要以下几个步骤:

  1. 安装vsftpd: 在终端中运行以下命令来安装vsftpd:

    sudo apt-get update
    sudo apt-get install vsftpd
    
  2. 创建虚拟用户数据库: 首先,你需要创建一个文件来存储虚拟用户的用户名和密码。例如,创建一个名为/etc/vsftpd/virtual_users.txt的文件,并添加虚拟用户的用户名和密码,每行一个,格式如下:

    username1
    password1
    username2
    password2
    
  3. 安装并配置db_load工具: db_load是一个用于将文本文件转换为数据库文件的工具。首先,确保已安装libdb-utils包:

    sudo apt-get install libdb-utils
    

    然后,使用db_load工具将virtual_users.txt文件转换为数据库文件:

    sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    
  4. 创建PAM配置文件: 在/etc/pam.d/目录下创建一个名为vsftpd-virtual的文件,并添加以下内容:

    auth required pam_userdb.so db=/etc/vsftpd/virtual_users
    account required pam_userdb.so db=/etc/vsftpd/virtual_users
    
  5. 配置vsftpd: 编辑/etc/vsftpd.conf文件,确保以下设置已启用:

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    guest_enable=YES
    guest_username=ftpuser
    user_sub_token=$USER
    local_root=/home/$USER
    

    其中,guest_enable=YES启用虚拟用户,guest_username=ftpuser设置虚拟用户的默认主目录,user_sub_token=$USER允许虚拟用户在其主目录中创建子目录。

  6. 重启vsftpd服务: 保存更改并重启vsftpd服务以应用新配置:

    sudo systemctl restart vsftpd
    

现在,你应该可以使用在virtual_users.txt文件中定义的虚拟用户登录到FTP服务器了。请注意,这些虚拟用户没有实际的系统账户,因此无法使用sudo等命令。

0
看了该问题的人还看了