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 の設定
再設定を行いたい場合は以下のようにする。(任意)
sudo dpkg-reconfigure nslcd
libnss-ldapd の設定
再設定を行いたい場合は以下のようにする。(任意)
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
手動で追加する場合は (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) が原因であることを疑う。