LDAP(Lightweight Directory Access Protocol)を使用した認証をRed Hat Enterprise Linux(RHEL)で設定する方法について、完全かつ包括的なガイドを以下に提供します。LDAPはディレクトリサービスを利用してユーザー情報や認証を集中管理するため、企業環境では非常に有効です。この記事では、RHELにおけるLDAPの設定手順を詳細に説明します。
1. はじめに
LDAPは、ネットワーク上でユーザーアカウントやリソース情報を管理するためのプロトコルです。多くの組織では、複数のシステムで一貫したユーザー認証を行うためにLDAPサーバーを導入します。Red Hat Enterprise Linuxでは、sssd
(System Security Services Daemon)を使用してLDAPサーバーと連携し、ユーザーの認証情報を取得することができます。

2. 必要なパッケージのインストール
LDAPを設定するためには、いくつかのパッケージをインストールする必要があります。まずは、以下のコマンドを実行して、必要なパッケージをインストールします。
bashsudo yum install sssd sssd-ldap authconfig
- sssd: セキュリティサービスを提供し、LDAPサーバーとの通信を管理します。
- sssd-ldap: LDAPとの連携に必要なモジュールです。
- authconfig: 認証設定ツールで、LDAP設定のために使用します。
3. LDAPサーバー情報の取得
LDAPを設定するためには、LDAPサーバーの情報が必要です。通常、この情報はシステム管理者から提供されます。必要な情報は以下の通りです。
- LDAPサーバーのホスト名またはIPアドレス
- バインドDN(LDAPサーバーに接続するためのユーザー名)
- バインドパスワード(LDAPサーバーに接続するためのパスワード)
- ベースDN(LDAPのデータベース内で検索を開始する位置)
4. SSSD設定ファイルの編集
/etc/sssd/sssd.conf
というファイルを編集して、LDAPサーバーと連携できるように設定します。以下のような内容で設定ファイルを作成または編集します。
bash[sssd] domains = LDAP config_file_version = 2 services = nss, pam [domain/LDAP] id_provider = ldap ldap_uri = ldap://your-ldap-server.example.com ldap_search_base = dc=example,dc=com ldap_bind_dn = cn=admin,dc=example,dc=com ldap_bind_password = yourpassword ldap_id_use_start_tls = True
- ldap_uri: LDAPサーバーのURI(例えば、
ldap://your-ldap-server.example.com
)。 - ldap_search_base: LDAPディレクトリ内の検索基準となるベースDN。
- ldap_bind_dn: LDAPサーバーに接続するためのバインドDN。
- ldap_bind_password: バインドDNのパスワード。
- ldap_id_use_start_tls: LDAP接続時にTLSを使用する設定。
設定が完了したら、ファイルのパーミッションを適切に設定します。sssd.conf
は非常に敏感な情報を含んでいるため、セキュリティを確保するために権限を制限します。
bashsudo chmod 600 /etc/sssd/sssd.conf
5. SSSDサービスの起動と確認
設定ファイルの編集が完了したら、SSSDサービスを起動します。
bashsudo systemctl start sssd
sudo systemctl enable sssd
サービスが正常に起動したか確認するために、次のコマンドを実行します。
bashsudo systemctl status sssd
また、LDAPサーバーへの接続が成功したかを確認するために、id
コマンドを使ってLDAPユーザーを検索します。
bashid username
LDAPユーザーが正しく認識されれば、設定は成功です。
6. PAM(Pluggable Authentication Modules)の設定
PAMはLinuxシステムで認証を管理するためのモジュールです。LDAP認証を利用するためには、PAMの設定ファイルを編集する必要があります。/etc/pam.d/system-auth
と/etc/pam.d/password-auth
を以下のように変更します。
bashauth required pam_env.so auth sufficient pam_unix.so try_first_pass auth required pam_ldap.so account required pam_unix.so account sufficient pam_ldap.so password required pam_unix.so password sufficient pam_ldap.so session required pam_unix.so session optional pam_ldap.so
これにより、システムはLDAPを利用してユーザー認証を行うようになります。
7. サービスの再起動
設定変更後は、システムを再起動して変更を反映させます。
bashsudo systemctl restart sssd
8. テストと確認
LDAP設定が正しく機能するかを確認するために、以下のコマンドを実行してみましょう。
- ユーザー認証の確認
bashid username
- ログインの確認
bashsu - username
LDAPユーザーでログインできることを確認してください。
9. トラブルシューティング
もし、LDAP認証がうまくいかない場合、以下のコマンドでエラーログを確認してみましょう。
bashsudo tail -f /var/log/sssd/sssd.log
ここに表示されるエラーに基づいて、設定ファイルや接続情報を再確認します。
10. まとめ
Red Hat Enterprise LinuxでLDAP認証を設定する手順は以上です。LDAPサーバーとの接続やSSSD設定を正確に行うことが重要です。これにより、複数のシステムで統一されたユーザー管理が可能になります。システム管理者は、これらの設定を正確に実施し、セキュリティを確保した運用を行うことが求められます。
以上がLDAP認証設定の手順です。