我有一个旧的 Solaris 8 服务器作为 NIS 域中的客户端。除了一个用户(用户“oracle”)之外,所有用户都可以正常登录。它曾经有效,但去年年底“有些事情”发生了变化(当时我不在这里),用户 oracle 无法再登录。
我可以使用 rsa 密钥以 oracle 身份 ssh 到服务器,我可以从 root su 到 oracle,但是对于该单个用户,任何涉及密码身份验证的操作都会失败。登录到同一 NIS 域中的其他服务器是有效的,因此密码肯定是正确的。
知道出了什么问题吗?如何调试?
编辑:用户 oracle 不在 /etc/passwd 或 /etc/shadow 中。并且 /etc/nsswitch.conf 有 passwd 文件,nis。我还执行了“nscd -e passwd,no”来禁用 passwd 条目的缓存。“ypcat passwd”显示了一条oracle的记录。
还有什么?
谢谢
如果 oracle 的密码包含非 7 位 ascii 字符,原因可能是语言环境不匹配。例如:ISO-8859-xx 与 UTF-8。
排序。问题是 NIS密码散列采用MD5 格式($1$xyz...),与 Solaris 8 不兼容。我们使用中央密码管理,所有密码更改都应默认为 DES 散列,但不知何故有人设法设置了作为 MD5 哈希的密码。