PAMとKerberos5を使用してWindowsActiveDirectoryサーバー上のLinuxユーザーパスワードを認証するLinuxサーバーがいくつかあります。使用するLinuxディストリビューションはCentOS6です。
1つのシステムには、CVSやSubversionなどのバージョン管理システムがいくつかあります。どちらもPAMを介してユーザーを認証し、ユーザーが通常のUnix応答を使用できるようにします。 WindowsADアカウント。
パスワード認証にKerberosの使用を開始して以来、クライアントマシンのCVSは接続の確立に非常に時間がかかることがよくあります。 CVSは、すべての要求(cvs diff、log、update ...など)でユーザーを認証します。
kerberosが使用する資格情報をキャッシュすることは可能ですか?ユーザーがcvsアクションを実行するたびにWindows ADサーバーに問い合わせる必要はありませんか?
PAM構成/etc/pam.d/system-authは次のようになります。
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_krb5.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_krb5.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_krb5.so
PAMを介した認証には、常にこの問題があります。これを回避する唯一の方法は、サービス自体をkerberizeすることであり、認証を実装するためにpamスタックを使用することです。
これを行う1つの方法は、sshを使用してcvsリポジトリにアクセスし、kerberosを使用してsshへの認証を行うことです。 (google ssh GSSAPI)。
Cvsリポジトリをホストしているサーバーへのsshアクセスを許可したくない場合は、CVSサーバーのkerberizedバージョンがあります。例については、を参照してください。