Root
防止在 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
好的,所以經過一番遊說,我修改了root帳戶:
dn: uid=root,ou=people,dc=nope,dc=com changetype: modrdn newrdn: uid=administrator deleteoldrdn: 1
現在我沒有任何問題了。
可能有更好的方法,但作為權宜之計,您始終可以編輯
/etc/shadow
文件(以 root 身份)。:
只需用新的加密密碼替換第一個和第二個之間的部分:
- 使用
passwd
,將您自己的密碼設置為您想要擁有的新 root 密碼(這也設置了您的 ldap 密碼,您將在最後設置該密碼)sudo -s -H
,保持此終端打開,直到驗證更改!- 備份
/etc/shadow
到/etc/shadow.org
- 以 root 身份編輯並將第二個“欄位”(介於 之間)從您的帳戶名
/etc/shadow
複製到root 的那個:
- 測試您是否可以使用新密碼以 root 身份登錄。如果事情不起作用
/etc/shadow.org
,請在終端中複製回您的登錄身份root
- 僅在測試後刪除
/etc/shadow.org
並註銷- 將您自己的密碼放回原始密碼
passwd