我有超过 50 台服务器。之前我们使用的是 LDAP 身份验证。现在我们决定使用相同的用户名在服务器上进行本地身份验证,而不是 LDAP 身份验证。有些事情搞砸了,我们迷失了方向,我们必须更改身份验证方案。现在我需要手动登录所有服务器并进行检查。有什么万无一失的方法可以检查用户帐户是在本地还是通过 LDAP 进行身份验证?PS:我尝试检查 /etc/passwd 文件中的用户名,但没有用。虽然那里有条目,但用户帐户是通过 LDAP 进行身份验证的 :(
答案1
getent passwd "username"
将结果复制到缓冲区
vipw
将该行粘贴到其中。可以在末尾,也可以在正确的位置。
getent shadow "username"
再次复制该行
vipw -s
将该行粘贴到其中。然后使用
passwd "username"
再次设置密码本身。‘getent’不会给您加密的 LDAP 密码。
答案2
我不确定您到底在问什么,但类似的更改是在 /etc/nsswitch.conf 中处理的。查找该文件中的用户部分,它应该会告诉您它是本地(文件)还是 ldap。