Debianでpamを使用してLDAP認証を設定した後、すべてがうまく機能します。現在のユーザーの LDAP パスワードを変更するには、passwd コマンドを使用します。
問題は、私のLDAPが「管理者」アカウントと管理者権限を持つ「root」アカウントに設定されていることです。歴史的な理由でこれを変更することはできません。
LDAPパスワードではなく、ルートのローカルパスワードのみを変更するようにpasswdにどのように通知できますか?
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)。:
最初と2番目の間の部分を暗号化された新しいパスワードに置き換えます。
を使用して、
passwd
新しいルートパスワードで自分のパスワードを設定します(これにより、LDAPパスワードも設定され、最後にリセットされます)。sudo -s -H
、変更が確認されるまでこの端末を開けてください!バックアップ
/etc/shadow
先:/etc/shadow.org
ルートとして編集し、
/etc/shadow
アカウント名の2番目の「フィールド」(その間)をルートフィールドにコピーします。:
新しいパスワードを使用してrootとしてログインできることをテストします。問題が解決しない場合は、
/etc/shadow.org
ログインした端末にもう一度コピーしてください。root
テスト後の削除
/etc/shadow.org
とログアウトのみ可能自分のパスワードを元のパスワードに復元してください。
passwd
答え2
まあ、ちょっとしたロビーの後にルートアカウントを修正しました。
dn: uid=root,ou=people,dc=nope,dc=com
changetype: modrdn
newrdn: uid=administrator
deleteoldrdn: 1
もう問題ありません。