私はこの優れた投稿に従って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
# 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
/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
ユーザーがkerberosパスワードを使用している場合、kerberosパスワードはコマンドkpasswd
で変更できるため、pamからkerberosパスワード管理を削除できます。
@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パスワードを要求します! (これがまさに私をここに導いた間違いです。)