web-dev-qa-db-ja.com

MS-AD Kerberos + LDAPの構成後にローカルパスワードをrootとして変更します

私はこの優れた投稿に従ってKerberos + LDAPを構成しました。
http://koo.fi/blog/2013/01/06/ubuntu-12-04-active-directory-authentication/

ただし、一部のローカルユーザーがサービスに使用されています。
これらのいずれかのパスワードを変更しようとすると、rootとしてCurrent Kerberos passwordは次に終了します。

passwd service1
Current Kerberos password:  (I hit enter)
Current Kerberos password:  (I hit enter)
passwd: Authentication token manipulation error
passwd: password unchanged

ローカルユーザーに切り替えてpasswdを実行すると、Kerberosを1回要求してからローカルにフォールバックします。
$ passwd
Current Kerberos password:
Changing password for service1.
(current) UNIX password:

私の設定は上記で投稿したサイトに似ており、すべて正常に動作します。ローカルユーザーのパスワードをrootとして変更することはできません。

助けてくれてありがとう。

3.8.0-29-generic #42~precise1-Ubuntu

アップデート1 2013-01-31:

# cat /etc/pam.d/common-auth
auth    [success=3 default=ignore]      pam_krb5.so minimum_uid=1000
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    optional                        pam_cap.so


# cat /etc/pam.d/common-password
password        [success=3 default=ignore]      pam_krb5.so minimum_uid=1000
password        [success=2 default=ignore]      pam_unix.so obscure use_authtok try_first_pass 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
password        optional        pam_gnome_keyring.so
6
Daniel C. Lopez

/etc/pam.d/common-passwordで、最初の行のminimum_uidを1000より大きいものに変更します。例:

password        [success=3 default=ignore]      pam_krb5.so minimum_uid=10000

それでうまくいきました。これは、rootとしてそのユーザーのパスワードを変更した後、/ var/log/auth.logに表示されるはずです。

Dec 26 12:34:36 3.8.0-29-generic passwd[22667]: pam_unix(passwd:chauthtok): password changed for service1
14
Ameer

ユーザーがkerberosパスワードを使用している場合、kerberosパスワードはコマンドkpasswdで変更できるため、pamからkerberosパスワード管理を削除できます。

0
c4f4t0r

@Ameerの編集に関する回答common-passwordは正しいです。ただし、一般的にPAMのuid制限を編集する場合は、影響を受けるすべてのPAMファイルを編集することを忘れないでください。 krb5/etc/pam.dを検索すると、関連するすべてのファイルが見つかります。

root@server:/etc/pam.d# grep -R krb5 .
./common-auth:auth  [success=2 default=ignore]  pam_krb5.so minimum_uid=10000
./common-session-noninteractive:session optional            pam_krb5.so minimum_uid=10000
./common-session:session    optional            pam_krb5.so minimum_uid=10000
./common-account:account    required            pam_krb5.so minimum_uid=10000
./common-password:password  [success=2 default=ignore]  pam_krb5.so minimum_uid=10000

たとえば、common-authを編集しただけでcommon-passwordは編集しなかった場合、認証はローカルアカウントで機能しますが、passwdは現在のkerberosパスワードを要求します! (これがまさに私をここに導いた間違いです。)