在Ubuntu上配置vsftpd虚拟用户的步骤如下:
- 安装vsftpd及相关软件:
sudo apt-get update sudo apt-get install vsftpd pam db4-utils
- 创建系统用户:
sudo useradd -d /home/ftpsite -s /sbin/nologin virtual_user sudo chown -R virtual_user:virtual_user /home/ftpsite sudo chmod 755 /home/ftpsite
- 创建虚拟用户数据库:
创建一个文本文件,例如 account.txt
,格式为奇数行为用户名,偶数行为用户密码。
user1 123456 user2 123456
使用 db_load
命令生成数据库文件:
sudo db_load -T -t hash -f account.txt /etc/vsftpd/account.db sudo chmod 600 /etc/vsftpd/account.db
- 配置PAM文件:
创建一个新的PAM文件,例如 /etc/pam.d/vsftp.vu
,并添加以下内容:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
- 配置vsftpd.conf文件:
编辑 /etc/vsftpd/vsftpd.conf
文件,启用虚拟用户功能,并添加以下配置:
anonymous_enable=NO local_enable=YES chroot_local_user=YES guest_enable=YES guest_username=virtual_user pam_service_name=vsftp.vu user_list_enable=YES user_list_file=/etc/vsftpd/ftpusers
- 重启vsftpd服务:
sudo systemctl restart vsftpd
现在,您可以使用创建的虚拟用户名和密码登录FTP服务器了。请注意,为了安全起见,建议您定期更新密码并监控用户活动。