Ubuntu 26.04 で LDAP のユーザー情報を OS の認証に使う場合、SSSD を使うと NSS/PAM と LDAP をつなげられます。
SSSD と LDAP 連携は別物というより、Ubuntu 側では SSSD が LDAP クライアントとして動く構成です。そのためこの記事では両方をまとめて扱います。
SSSD の役割
- LDAP 上のユーザーやグループを OS から参照する
- PAM と連携してログイン認証に使う
- 認証情報をキャッシュして一時的な LDAP 障害に備える
- sudo や SSH 連携へ拡張できる
パッケージを入れる
sudo apt update
sudo apt install -y sssd sssd-tools ldap-utilsLDAP へ疎通確認する
ldapsearch -x -H ldaps://ldap.example.local -b "dc=example,dc=local" -D "cn=bind,dc=example,dc=local" -W "(uid=testuser)"sssd.conf の例
/etc/sssd/sssd.conf は秘密情報を含むため、権限を 0600 にします。
[sssd]
services = nss, pam
domains = main
[domain/main]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = permit
ldap_uri = ldaps://ldap.example.local
ldap_search_base = dc=example,dc=local
ldap_default_bind_dn = cn=bind,dc=example,dc=local
ldap_default_authtok = CHANGE_ME
cache_credentials = true権限を設定して検証する
sudo chown root:sssd /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf
sudo sssctl config-checkサービスを起動する
sudo systemctl enable --now sssd
systemctl status sssd --no-pagerユーザー解決を確認する
getent passwd testuser
id testuser
sssctl user-checks testuserログを確認する
journalctl -u sssd --since "1 hour ago" --no-pager
sudo ls -l /var/log/sssd 2>/dev/null || trueまとめ
LDAP 連携は、Ubuntu 側では SSSD の設定として扱うのが自然です。LDAP の疎通、CA 信頼、sssd.conf の権限、設定検証、ユーザー解決確認までを一連の作業として確認します。
Ubuntu 26.04 SSSD による LDAP 連携


