我正在尝试设置libnss-mysql
和libpam-mysql
。到目前为止,一切正常。我可以使用id
获取有关存储在我的数据库中的用户的信息。getent passwd
也可以正常工作。但是,getent shadow
不行。此外,我无法更改使用存储在数据库中的用户的密码passwd
。有没有办法解决这些问题?
顺便说一句,我正在运行 Ubuntu 10.04 作为最小虚拟机。
更新
我唯一更改的配置文件是/etc/nss-mysql.conf
、/etc/nss-mysql-root.conf
和/etc/nsswitch.conf
。我很确定前两个是正确的。因为它们只是配置如何访问数据库。我只在后一个配置文件的以下三行中添加了“mysql”一词:
passwd: compat mysql
groups: compat mysql
shadow: compat mysql
我没有动过任何其他配置文件。如果你们其中有人需要查看任何其他文件,请告诉我,因为现在我不知道哪个其他配置文件可能令人感兴趣。
答案1
通常情况下,getent shadow
除非您是 root 身份,否则不会返回任何内容。
您需要更改 /etc/pam.d 中的 PAM 配置以使用 mysql PAM 模块。
此后,您将能够使用常规passwd
命令更改密码。