CentOS 6 で Linux 認証に LDAP を使う時の基本を確認します。ここでは OpenLDAP サーバーそのものよりも、CentOS 6 クライアントが LDAP を参照し、ユーザー情報や認証を扱う流れを確認します。
LDAP 認証で分けること
LDAP 認証は「ログインできるか」だけで見ると混乱します。ユーザー情報の参照、パスワード認証、PAM、ホームディレクトリ、障害時のローカルログインを分けて考えます。
- NSS がユーザー・グループ情報を参照する
- PAM が認証処理を行う
- LDAP サーバーに接続できる必要がある
- ローカル管理ユーザーを残す必要がある
- SSH ログインでは sshd と PAM の両方が関わる
関連パッケージと設定確認
rpm -qa | egrep "nss-pam-ldapd|pam_ldap|nss_ldap|openldap|authconfig"
authconfig --test
cat /etc/nsswitch.conf
ls -l /etc/pam.dCentOS 6 では nslcd を使う構成や、古い nss_ldap / pam_ldap の構成があり得ます。まず実際の方式を確認します。
NSS の確認
grep -E "^(passwd|shadow|group):" /etc/nsswitch.conf
getent passwd user01
getent group adminsgetent で LDAP ユーザーが見える場合、ユーザー情報の参照はできています。ただし、これはログイン成功を意味しません。PAM 側の認証確認が別に必要です。
PAM と SSH の確認
grep -R "ldap\|sss\|nslcd" /etc/pam.d
service nslcd status
service sshd status
tail -f /var/log/secureSSH ログインでは、sshd の設定、PAM、LDAP 接続、ユーザーのシェル、ホームディレクトリ権限が関係します。どこで失敗しているのかをログで切り分けます。
LDAP 接続確認
ldapsearch -x -H ldap://ldap01.example.net -b "dc=example,dc=local" uid=user01
getent passwd user01
su - user01LDAP サーバーへ到達できない状態で認証を LDAP に依存すると、管理ログインができなくなることがあります。ローカル管理ユーザーで入れる設計は必須です。
まとめ
CentOS 6 の LDAP 認証では、NSS、PAM、LDAP 接続、SSH、ローカル管理ユーザーを分けて確認します。認証基盤は障害時の復旧経路にも直結するため、LDAP だけに依存した設計になっていないかを確認することが重要です。
関連する記事
- CentOS 6 サーバー管理ガイド
CentOS 6 系の記事を役割別に確認できるハブページです。 - CentOS 6 OpenLDAP サーバー構築
LDAP サーバー側の基本構成です。 - CentOS 6 SSH 設定
SSH ログインと認証ログの確認です。
参考書籍
参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門
CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 6 Linux 認証に LDAP を使う – NSS / PAM 連携の基本

