🔐

SSSDを利用したLDAP認証環境の構築

2023/10/18に公開

環境

OS:RHEL8.x / CentOS Stream 8
ソフトウェアの選択:最小
SELinux:無効

1. インストールパッケージ

bash
sudo dnf install -y sssd-ldap sssd-tools

2. sssd.conf設定例

/etc/sssd/sssd.conf
[sssd]
debug_level = 4
# ifp:sssctlユーティリティー利用
services = nss, pam, ifp, ssh, sudo
domains = mydomain

[nss]
filter_groups = root
filter_users = root

[pam]

[domain/default]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap

# getent passwd対応
enumerate = True
# オフライン認証(=有効)
cache_credentials = True
# ユーザーの識別子の大文字と小文字の区別(=しない)
case_sensitive = false

# LDAP BIND情報
# ldap_uriに複数台指定する場合は、カンマ区切り
ldap_uri = ldap://<LDAPサーバのIPアドレス>, ldap://<LDAPサーバのIPアドレス>
ldap_search_base = dc=example, dc=com

# TLS 通信かつ、証明書の検証を行わない
ldap_tls_reqcert = never
ldap_id_use_start_tls = True

3. ユーザ認証の設定

bash
sudo authselect select sssd --force

4. SSSDサービス再起動

bash
sudo systemctl restart sssd

5. ドメインステータス確認

bash
sudo sssctl domain-status default
command prompt
Online status: Online

Active servers:
LDAP: <LDAP IP Address>

Discovered LDAP servers:
- <LDAP IP Address>
- <LDAP IP Address>

6. ユーザ識別情報の表示

idコマンドを利用しユーザ識別情報が表示されるか確認します。

bash
id <uid>

ホームディレクトリの自動生成

bash
sudo dnf install -y oddjob-mkhomedir
sudo systemctl enable oddjobd
sudo systemctl start oddjobd
sudo authselect select sssd with-mkhomedir --force

SSSD キャッシュデータベースファイルの削除

bash
sudo sssctl cache-remove
SSSD must not be running. Stop SSSD now? (yes/no) [yes]
Creating backup of local data...
Removing cache files...
SSSD needs to be running. Start SSSD now? (yes/no) [yes]

Discussion