自作クラスタ計算機:openldapを使ったldapサーバの基本設定
Table of Contents
管理ノード
OpenLDAPのインストールと初期設定
$ sudo apt install slapd ldap-utils
以下を聞かれるので設定
- Administrator password: 任意
初期設定
$ sudo dpkg-reconfigure slapd
- Omit OpenLDAP server Configuration?: No
- DNS domain name: cluster.home.arpa
- プライベートLAN内のドメイン名は hogehoge.home.arpa が推奨されている、らしい
- クラスタ計算機のドメインなので、ここでは cluster.home.arpha としておく
- Organization name: Computer cluster
- このドメインが何を表すかの覚書。好きな名前にしてよろしい
- Administration password: インストール時に入力したもの
- Do you want the database to be removed when slapd is purged?: No
- slapdをアンインストールしたときにデータベースを残すかどうか。
- Move old database?: Yes
- 古いデータベースを別名にして残すかどうか。
ちゃんと設定されたか確認
$ 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
- 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
- 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ファイルを編集
- 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.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
- 「SSS Authentication」を有効化(通常は自動で有効化済み)
SSSD起動
$ sudo systemctl restart sssd $ sudo systemctl enable sssd
ユーザーが見えるか確認
$ getent passwd taro
- なにも表示されなかったら失敗しています。
$ id taro
- uidとgidが見えます。
ユーザーに切り替えるには
$ su - taro
自作クラスタ計算機/openldapを使ったldapサーバの基本設定.txt · Last modified: 2026/05/11 19:25 by koudai
