Windows環境のドメインネットワークがあって、
そこのパスワードを利用してログインできるようにする方法です。
よくあるのはLDAPでの連携のようなのですが、なんかLDAP側でもなんかしなくてはいけない気配です。
なのでケルベロス認証の方で連携を行います。
ActiveDirectoryの構築に関しては特に説明はなしです。
rootユーザで実行します。
su
pam_krb5をインストール
yum -y install pam_krb5
連携する設定
authconfig-tui
---------------------
ユーザ情報:
認証:
「MD5 パスワードを使用」にチェック
「シャドウパスワードを使用」にチェック
「Kerberos 5 を使用」にチェック
「次」
レルム:MY_DOMAIN ← 利用するWindowsドメイン名
KDC:pdc.xxx.jp:88 ← プライマリードメインサーバ
管理サーバ:pdc.xxx.jp:749 ←プライマリードメインサーバ
DNS を使用してレルムのホストを解決する:チェック
DNS を使用してレルム用の KDC を見付ける:チェック
「OK」
---------------------
authconfig-tuiで設定を行うと以下のファイルに設定内容が反映されます。
/etc/krb5.conf
/etc/pam.d/system-auth
CentOS上にWindowsドメインネットワーク上のユーザと同名のユーザを作成
パスワードの設定は不要です。
useradd -m user1
とりあえずローカルホストに接続して連携できているかを確認
ssh localhost -l user1
接続がうまくいかない時などはdebug情報を出すには
/etc/pam.d/system-auth
を編集して以下のようにdebugを追加すると
---------------------------
auth sufficient pam_ldap.so use_first_pass debug
---------------------------
/var/log/secure
に出力されます。
ついでにapacheでも連携する方法です。
mod_auth_kerbを利用します。
apacheインストールの説明は別途検索してください。
また上記のsshの設定が済んでいることが前提です。
mod_auth_kerbをインストール
yum -y install mod_auth_kerb
設定
vi /etc/httpd/conf.d/auth_kerb.conf
以下のような感じで設定
-----------------------------
<location /test_krb_auth>
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms MY_DOMAIN ← 利用するWindowsドメイン。sshで指定したのと同じ
KrbVerifyKDC Off
KrbMethodNegotiate Off
require valid-user
</Location>
-----------------------------
これでREMOTE_USERに
username@my_domain
のようにrealm付きでセットされるようになります。
ちなみにmod_auth_kerbのversionが5.4以上ならば
KrbLocalUserMapping On
とすることで上記の@以降のrealmが除去される模様です。
0 件のコメント:
コメントを投稿