手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 5 LDAP 統合認証 – ユーザー情報を一元管理する考え方

CentOS 5 で LDAP を使った統合認証を構成する考え方を確認します。この記事では、OpenLDAP サーバーそのものの構築よりも、Linux クライアントや周辺サービスが LDAP を参照してユーザー情報を扱う時の見方に重点を置きます。

LDAP 統合認証で分けて考えること

LDAP 連携は「ログインできるか」だけで見ると混乱します。ユーザー情報の参照、認証、権限、ホームディレクトリ、Samba やメールとの連携を分けて確認します。

  • ユーザー・グループ情報をどこから引くか
  • パスワード認証をどこで行うか
  • NSS と PAM の設定
  • ホームディレクトリの扱い
  • 障害時にローカルユーザーで入れるか

CentOS 5 世代では SSSD ではなく、nss_ldappam_ldap を使った構成が多くあります。現代の構成とは前提が違うため、古い設定ファイルをそのまま新環境へ持ち込まない方が安全です。

関連パッケージと設定ファイル

rpm -qa | egrep "nss_ldap|pam_ldap|openldap|authconfig"
cat /etc/ldap.conf
cat /etc/nsswitch.conf
ls -l /etc/pam.d

/etc/ldap.conf/etc/nsswitch.conf、PAM 設定が連動しているかを確認します。どれか一つだけ見ても、ログインできる理由やできない理由は分かりません。

nsswitch.conf の確認

NSS はユーザーやグループ情報をどこから引くかを決めます。LDAP 参照を使う場合、passwdshadowgroupldap が含まれることがあります。

grep -E "^(passwd|shadow|group):" /etc/nsswitch.conf
getent passwd user01
getent group admins

getent で LDAP ユーザーが見える場合、少なくともユーザー情報の参照はできています。ただし、見えることとログインできることは別です。

PAM と認証確認

ログイン認証は PAM 側で制御されます。system-auth やサービス別 PAM 設定に LDAP 認証が含まれているかを確認します。

grep -R "pam_ldap" /etc/pam.d
grep -R "pam_unix" /etc/pam.d
authconfig --test

LDAP 側の障害時に完全にログインできなくなる設計は危険です。最低限、管理用のローカルユーザーで入れることを確認しておく必要があります。

動作確認

ldapsearch -x -b "dc=example,dc=local" uid=user01
getent passwd user01
su - user01
tail -f /var/log/secure

ログインできない場合は、LDAP 検索、NSS、PAM、ホームディレクトリ、シェル、アクセス制御を順番に切り分けます。いきなり PAM を書き換えると復旧が難しくなるため、事前に別セッションを残すなどの安全策が必要です。

まとめ

CentOS 5 の LDAP 統合認証は、NSS、PAM、LDAP サーバー、管理用ローカルユーザーを分けて確認する必要があります。古い環境では設定が複数ファイルに分散しているため、ログイン可否だけで判断せず、ユーザー参照と認証の流れを丁寧に追うことが重要です。

関連する記事

参考書籍

参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門

古い Linux サーバーの記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。

Amazon で見る
このリンクは Amazon アソシエイトリンクです。
CentOS 5 LDAP 統合認証 – ユーザー情報を一元管理する考え方

CentOS 5 LDAP 統合認証 – ユーザー情報を一元管理する考え方」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る