在Ubuntu中设置VSFTPD虚拟用户,你需要遵循以下步骤:
安装VSFTPD: 在终端中输入以下命令来安装VSFTPD:
sudo apt-get update
sudo apt-get install vsftpd
创建虚拟用户数据库:
首先,你需要创建一个文件来存储虚拟用户的用户名和密码。例如,创建一个名为/etc/vsftpd/virtual_users.txt的文件:
sudo touch /etc/vsftpd/virtual_users.txt
接下来,使用文本编辑器打开该文件,并添加虚拟用户的用户名和密码。每行一个用户,格式如下:
username1
password1
username2
password2
保存并关闭文件。
创建虚拟用户映射:
为了将虚拟用户映射到系统用户,你需要创建一个名为/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。你可以根据需要修改这些设置。
创建系统用户:
为了存储虚拟用户的文件,你需要创建一个系统用户。例如,创建一个名为ftpuser的系统用户:
sudo adduser --system --no-create-home --group ftpuser
确保/home/ftpuser目录存在:
sudo mkdir /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
配置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
修改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
保存并关闭文件。
重启VSFTPD: 在终端中输入以下命令以重启VSFTPD服务:
sudo systemctl restart vsftpd
现在,你已经成功设置了Ubuntu中的VSFTPD虚拟用户。你可以使用创建的虚拟用户名和密码登录FTP服务器。