pam_userdb 无法打开数据库

pam_userdb 无法打开数据库

在尝试设置 vsftpd 以使用虚拟用户时我遇到了这个问题。

我创建了一个数据库文件:

db_load -T -t hash -f users.txt /etc/vsftpd/users.db

/etc/pam.d/vsftpd

session optional pam_keyinit.so force revoke
auth    required pam_userdb.so db=/etc/vsftpd/users.db
account required pam_userdb.so db=/etc/vsftpd/users.db

但尽管该数据库可以被vsftpd进程读取,我最终还是得到了这个/var/log/auth.log

pam_userdb(vsftpd:auth):user_lookup:无法打开数据库“/etc/vsftpd/users.db”:没有此文件或目录

答案1

关键是它pam_userdb会默默地添加.db到路径中,所以你需要这个配置

session optional pam_keyinit.so force revoke
auth    required pam_userdb.so db=/etc/vsftpd/users
account required pam_userdb.so db=/etc/vsftpd/users

手册页中没有提到这一点,事实上,给出的示例错误地使用了/etc/dbtest.db而不是/etc/dbtest

相关内容