Root

防止在 ldap 中更改 root 密碼 - debian

  • June 12, 2013

在 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

好的,所以經過一番遊說,我修改了root帳戶:

dn: uid=root,ou=people,dc=nope,dc=com
changetype: modrdn
newrdn: uid=administrator
deleteoldrdn: 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

引用自:https://unix.stackexchange.com/questions/78988