在Ubuntu上配置vsftpd虚拟用户的步骤如下:
- 安装vsftpd:
sudo apt-get update sudo apt-get install vsftpd
- 创建虚拟用户:
- 创建用户主目录:
sudo mkdir /home/vsftpd/user1 sudo mkdir /home/vsftpd/user2
- 为每个用户创建一个文本文件,其中包含用户名和密码。例如,创建一个名为
user1
的文件,内容如下:
user1 password1
- 使用
db_load
命令将文本文件转换为数据库文件:
sudo db_load -T -t hash -f user1 /etc/vsftpd/user1.db sudo chmod 600 /etc/vsftpd/user1.db
- 配置PAM认证:
- 创建PAM认证文件:
sudo vim /etc/pam.d/vsftpd.vuauth
- 添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/user1.db account required pam_userdb.so db=/etc/vsftpd/user1.db
- 修改vsftpd配置文件:
- 编辑vsftpd配置文件:
sudo vim /etc/vsftpd.conf
- 确保以下配置项已设置:
listen=YES local_enable=YES write_enable=YES chroot_local_user=YES guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/user_list
- 创建虚拟用户配置目录及配置文件:
- 创建目录:
sudo mkdir /etc/vsftpd/user_list
- 为每个用户创建一个配置文件,例如
user1
:
sudo vim /etc/vsftpd/user_list/user1
- 添加以下内容:
local_root=/home/vsftpd/user1 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
- 重启vsftpd服务:
sudo systemctl restart vsftpd
现在,您应该可以使用虚拟用户登录FTP服务器了。请注意,上述步骤中的用户名和密码仅为示例,您需要根据实际情况进行替换。