$ sudo apt install slapd ldap-utils
以下を聞かれるので設定
初期設定
$ sudo dpkg-reconfigure slapd
ちゃんと設定されたか確認
$ sudo slapcat dn: dc=cluster,dc=home,dc=arpa objectClass: top objectClass: dcObject objectClass: organization o: Computer Cluster dc: cluster structuralObjectClass: organization entryUUID: d1780672-e166-1040-9b15-8729bd3fc447 creatorsName: cn=admin,dc=cluster,dc=home,dc=arpa createTimestamp: 20260511092330Z entryCSN: 20260511092330.169937Z#000000#000#000000 modifiersName: cn=admin,dc=cluster,dc=home,dc=arpa modifyTimestamp: 20260511092330Z
組織単位を作成し、LDAPに追加する。
$ nano base.ldif
dn: ou=people,dc=cluster,dc=home,dc=arpa objectClass: organizationalUnit ou: people dn: ou=groups,dc=cluster,dc=home,dc=arpa objectClass: organizationalUnit ou: groups
$ ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f base.ldif
ちゃんと設定されたか確認。
$ sudo slapcat dn: dc=cluster,dc=home,dc=arpa objectClass: top objectClass: dcObject objectClass: organization o: Computer Cluster dc: cluster structuralObjectClass: organization entryUUID: d1780672-e166-1040-9b15-8729bd3fc447 creatorsName: cn=admin,dc=cluster,dc=home,dc=arpa createTimestamp: 20260511092330Z entryCSN: 20260511092330.169937Z#000000#000#000000 modifiersName: cn=admin,dc=cluster,dc=home,dc=arpa modifyTimestamp: 20260511092330Z dn: ou=people,dc=cluster,dc=home,dc=arpa objectClass: organizationalUnit ou: people structuralObjectClass: organizationalUnit entryUUID: e7553b08-e167-1040-867b-8d36242c18d8 creatorsName: cn=admin,dc=cluster,dc=home,dc=arpa createTimestamp: 20260511093116Z entryCSN: 20260511093116.348516Z#000000#000#000000 modifiersName: cn=admin,dc=cluster,dc=home,dc=arpa modifyTimestamp: 20260511093116Z dn: ou=groups,dc=cluster,dc=home,dc=arpa objectClass: organizationalUnit ou: groups structuralObjectClass: organizationalUnit entryUUID: e755e2c4-e167-1040-867c-8d36242c18d8 creatorsName: cn=admin,dc=cluster,dc=home,dc=arpa createTimestamp: 20260511093116Z entryCSN: 20260511093116.352854Z#000000#000#000000 modifiersName: cn=admin,dc=cluster,dc=home,dc=arpa modifyTimestamp: 20260511093116Z
ユーザーの初期パスワードを設定する。
$ slappasswd
New password:
Re-enter new password:
{SSHA}9VhiMfY0h9+SiAzqqCRIYGnKedgMUfH5
ユーザー情報の作成。
$ vim user.ldif
dn: cn=taro,ou=groups,dc=cluster,dc=home,dc=arpa
objectClass: posixGroup
cn: taro
gidNumber: 10000
dn: uid=taro,ou=people,dc=cluster,dc=home,dc=arpa
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Taro Yamada
sn: Yamada
uid: taro
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/taro
loginShell: /bin/bash
userPassword: {SSHA}9VhiMfY0h9+SiAzqqCRIYGnKedgMUfH5
$ ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f user.ldif
ちゃんと登録されているか確認
$ sudo slapcat
正しく登録されていれば、今まで入力した情報がすべて表示されます。
LDAPユーザのhomeディレクトリを作成
$ sudo mkdir /home/taro $ sudo chown 10000:10000 /home/taro
LDAPサーバ用のポートを開放
$ sudo ufw allow 389
hostsファイルを編集
192.168.0.1 kanri.cluster.home.arpa kanri 192.168.0.10 keisan10.cluster.home.arpa keisan10 192.168.0.11 keisan11.cluster.home.arpa keisan11
必要なパッケージのインストール
$ sudo apt install sssd libnss-sss libpam-sss ldap-utils
SSSDの設定
$ sudo vim /etc/sssd/sssd.conf
[sssd] services = nss, pam config_file_version = 2 domains = default [domain/default] id_provider = ldap auth_provider = ldap ldap_uri = ldap://192.168.01. ldap_search_base = dc=cluster,dc=home,dc=arpa # ユーザー・グループの場所 ldap_user_search_base = ou=people,dc=cluster,dc=home,dc=arpa ldap_group_search_base = ou=groups,dc=cluster,dc=home,dc=arpa # 認証 ldap_default_bind_dn = cn=admin,dc=cluster,dc=home,dc=arpa ldap_default_authtok = admin_password # パスワード ldap_tls_reqcert = never # UID/GID enumerate = false
権限変更
$ sudo chmod 600 /etc/sssd/sssd.conf
NSS設定
$ sudo vim /etc/nsswitch.conf
(略) passwd: files systemd sss group: files systemd sss shadow: files systemd sss (略)
普通はとくにいじる必要ないです。
ホームディレクトリの生成
$ sudo apt install oddjob-mkhomedir
PAM設定
$ sudo pam-auth-update
SSSD起動
$ sudo systemctl restart sssd $ sudo systemctl enable sssd
ユーザーが見えるか確認
$ getent passwd taro
$ id taro
ユーザーに切り替えるには
$ su - taro