温馨提示×

Ubuntu中VSFTPD虚拟用户设置

小樊
55
2025-08-09 09:07:36
栏目: 云计算

在Ubuntu中设置VSFTPD虚拟用户,你需要遵循以下步骤:

  1. 安装VSFTPD: 在终端中输入以下命令来安装VSFTPD:

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

    sudo touch /etc/vsftpd/virtual_users.txt 

    接下来,使用文本编辑器打开该文件,并添加虚拟用户的用户名和密码。每行一个用户,格式如下:

    username1 password1 username2 password2 

    保存并关闭文件。

  3. 创建虚拟用户映射: 为了将虚拟用户映射到系统用户,你需要创建一个名为/etc/vsftpd/virtual_users.conf的文件:

    sudo touch /etc/vsftpd/virtual_users.conf 

    使用文本编辑器打开该文件,并添加以下内容:

    local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES guest_enable=YES guest_username=ftpuser virtual_use_local_privs=YES user_sub_token=$USER local_root=/home/$USER 

    其中,guest_enable=YES表示启用虚拟用户,guest_username=ftpuser表示将虚拟用户映射到系统用户ftpuser。你可以根据需要修改这些设置。

  4. 创建系统用户: 为了存储虚拟用户的文件,你需要创建一个系统用户。例如,创建一个名为ftpuser的系统用户:

    sudo adduser --system --no-create-home --group ftpuser 

    确保/home/ftpuser目录存在:

    sudo mkdir /home/ftpuser sudo chown ftpuser:ftpuser /home/ftpuser 
  5. 配置PAM: 为了让VSFTPD能够验证虚拟用户,你需要配置PAM(Pluggable Authentication Modules)。首先,安装libpam-pwdfile包:

    sudo apt-get install libpam-pwdfile 

    然后,创建一个名为/etc/pam.d/vsftpd-virtual的文件:

    sudo touch /etc/pam.d/vsftpd-virtual 

    使用文本编辑器打开该文件,并添加以下内容:

    auth required pam_pwdfile.so pwdfile /etc/vsftpd/virtual_users.txt account required pam_permit.so 
  6. 修改VSFTPD配置: 使用文本编辑器打开/etc/vsftpd.conf文件:

    sudo nano /etc/vsftpd.conf 

    找到以下行并进行修改:

    #local_enable=YES local_enable=NO #guest_enable=YES guest_enable=NO #userlist_enable=YES userlist_enable=YES #tcp_wrappers=YES tcp_wrappers=YES 

    添加以下行以启用虚拟用户配置:

    virtual_enable=YES virtual_use_local_privs=YES virtual_auth=virtual pam_service_name=vsftpd-virtual userlist_file=/etc/vsftpd/user_list userlist_enable=YES userlist_deny=NO 

    保存并关闭文件。

  7. 重启VSFTPD: 在终端中输入以下命令以重启VSFTPD服务:

    sudo systemctl restart vsftpd 

现在,你已经成功设置了Ubuntu中的VSFTPD虚拟用户。你可以使用创建的虚拟用户名和密码登录FTP服务器。

0