防止 LDAP 中的 root 密码更改 - debian

防止 LDAP 中的 root 密码更改 - debian

在 debian 中使用 pam 设置 ldap 身份验证后,一切正常。使用 passwd 命令更改当前用户的 ldap 密码。

问题是我的 ldap 已经设置了一个“admin”帐户和一个具有管理员权限的“root”帐户。由于历史原因我无法改变这一点。

如何让 passwd 仅更改 root 的本地密码,而不更改 ldap 密码?

这是 pam 配置:

account sufficient pam_ldap.so
account sufficient pam_unix.so try_first_pass
account [success=2 new_authtok_reqd=done default=ignore]        pam_unix.so
account [success=1 default=ignore]      pam_ldap.so
account requisite                       pam_deny.so
account required                        pam_permit.so
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure try_first_pass

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
password        [success=2 default=ignore]      pam_unix.so obscure sha512
password        [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass
password        requisite                       pam_deny.so
password        required                        pam_permit.so

session [default=1]                     pam_permit.so
session requisite                       pam_deny.so
session required                        pam_permit.so
session required        pam_unix.so
session optional                        pam_ldap.so
session optional                        pam_ck_connector.so nox11
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

session [default=1]                     pam_permit.so
session requisite                       pam_deny.so
session required                        pam_permit.so
session required        pam_unix.so
session optional                        pam_ldap.so

答案1

可能有更好的方法,但作为权宜之计,您可以随时编辑该/etc/shadow文件(以 root 身份)。只需:用新的加密密码替换第一个和第二个之间的部分:

  1. 使用passwd,将您自己的密码设置为您想要的新 root 密码(这也会设置您的 LDAP 密码,您将在最后将其设置回来)

  2. sudo -s -H,保持此终端打开,直到更改得到验证!

  3. 备份/etc/shadow/etc/shadow.org

  4. 以 root 身份进行编辑,并将帐户名中的/etc/shadow第二个“字段”(介于 之间)复制到 root 的字段:

  5. 测试您是否可以使用新密码以 root 身份登录。如果事情不起作用,请复制/etc/shadow.org回您登录的终端root

  6. 仅在测试后删除/etc/shadow.org并注销

  7. 将您自己的密码恢复为原始密码passwd

答案2

好吧,经过一番游说,我修改了root账户:

dn: uid=root,ou=people,dc=nope,dc=com
changetype: modrdn
newrdn: uid=administrator
deleteoldrdn: 1

现在我不再有任何问题了。

相关内容