手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 SSSD による LDAP 連携

Ubuntu 26.04 サーバー管理ガイドに戻る

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-utils

LDAP へ疎通確認する

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 サーバー管理ガイドに戻る

Ubuntu 26.04 SSSD による LDAP 連携

コメントを残す

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

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

トップへ戻る