在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
添加虚拟用户:
使用文本编辑器打开/etc/vsftpd/virtual_users.txt
文件,并添加虚拟用户的用户名和密码。例如:
user1
password1
user2
password2
保存并关闭文件。
创建虚拟用户数据库: 运行以下命令,将虚拟用户信息转换为数据库格式:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
创建PAM配置文件:
创建一个名为/etc/pam.d/vsftpd-virtual
的文件,用于配置PAM(Pluggable Authentication Modules)认证:
sudo touch /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
修改vsftpd配置文件:
使用文本编辑器打开/etc/vsftpd.conf
文件,并进行以下修改:
sudo nano /etc/vsftpd.conf
在文件中添加或修改以下行:
guest_enable=YES
guest_username=ftpuser
user_sub_token=$USER
local_root=/home/ftpuser/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
pam_service_name=vsftpd-virtual
保存并关闭文件。
重启vsftpd服务: 运行以下命令以应用更改并重启vsftpd服务:
sudo systemctl restart vsftpd
现在,您已经成功设置了Ubuntu上的vsftpd虚拟用户。您可以使用创建的虚拟用户名和密码登录FTP服务器。