Ubuntu 22.04 LDAP の設定 - Himeyama/himeyama GitHub Wiki

libnss-ldapd のインストール

sudo apt update
sudo apt install libnss-ldapd

# 必要であれば
# sudo apt install ldap-auth-config

nslcd と libnss-ldapd の設定画面が出るので、適当に設定する。

nslcd の設定

Configuring nslcd (1)

Configuring nslcd (2)

再設定を行いたい場合は以下のようにする。(任意)

sudo dpkg-reconfigure nslcd

libnss-ldapd の設定

Configuring libnss-ldapd (2)

再設定を行いたい場合は以下のようにする。(任意)

sudo dpkg-reconfigure nslcd

設定する名前サービス (/etc/nsswhich.conf):

TUI で設定

sudo dpkg-reconfigure libnss-ldapd

手動で行う場合 (sudo nano /etc/nsswhich.conf) 任意

- passwd:         files systemd
+ passwd:         files systemd ldap
- group:          files systemd
+ group:          files systemd ldap
- shadow:         files
+ shadow:         files ldap
- hosts:          files mdns4_minimal [NOTFOUND=return] dns
+ hosts:          files mdns4_minimal [NOTFOUND=return] dns ldap

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

TUI で追加

sudo pam-auth-update

PAM configuration

手動で追加する場合は (sudo nano /etc/pam.d/common-session) に以下を追加 (任意)

session optional                        pam_mkhomedir.so

nslcd (Name Service LDAP Connection Daemon) の再起動

再起動すると、LDAP の情報を認識するようになる。

sudo service nslcd restart

接続確認

$ getent passwd
root:x:0:0:root:/root:/bin/bash
...

注意事項

  • ldapsearch -x -h localhost -b dc=example,dc=net で LDAP の情報を参照できる場合にかぎり、 bind DN が必要な場合は、ldap-auth-config を別途インストールして設定したほうがいいかも。

補足

  • getent passwd で LDAP のユーザーに参照できず、ldapsearch -x -h localhost -b dc=example,dc=net コマンドで情報を参照できる場合は、LDAP のアクセス権限 (olcAccess) が原因であることを疑う。