User Tools

Site Tools


自作クラスタ計算機:openldapを使ったldapサーバの基本設定

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
自作クラスタ計算機:openldapを使ったldapサーバの基本設定 [2026/05/11 18:06] – [管理ノード] koudai自作クラスタ計算機:openldapを使ったldapサーバの基本設定 [2026/05/13 14:04] (current) – [SSSD] koudai
Line 1: Line 1:
 ====== 管理ノード ====== ====== 管理ノード ======
  
-OpenLDAPインストール+===== OpenLDAPインストールと初期設定 =====
  
 <code> <code>
Line 16: Line 16:
 </code> </code>
  
 +  * Omit OpenLDAP server Configuration?: No
   * DNS domain name: cluster.home.arpa   * DNS domain name: cluster.home.arpa
     * プライベートLAN内のドメイン名は hogehoge.home.arpa が推奨されている、らしい     * プライベートLAN内のドメイン名は hogehoge.home.arpa が推奨されている、らしい
     * クラスタ計算機のドメインなので、ここでは cluster.home.arpha としておく     * クラスタ計算機のドメインなので、ここでは cluster.home.arpha としておく
   * Organization name: Computer cluster   * Organization name: Computer cluster
-    * 好きな名前にしてよろしい +    * このドメインが何を表すかの覚書。好きな名前にしてよろしい 
-  * Administration password: 任意+  * Administration password: インストール時に入力したもの 
 +  * Do you want the database to be removed when slapd is purged?: No 
 +    * slapdをアンインストールしたときにデータベースを残すかどうか。  
 +  * Move old database?: Yes 
 +    * 古いデータベースを別名にして残すかどうか。
  
-Yes/Noで聞かれるやつは適当に答える。 +ちゃんと設定されたか確認
- +
- +
-設定されたか確認+
  
 <code> <code>
-ldapsearch -x -LLL -H ldap:/// -b dc=cluster,dc=home,dc=arpa+sudo slapcat
 dn: dc=cluster,dc=home,dc=arpa dn: dc=cluster,dc=home,dc=arpa
 objectClass: top objectClass: top
 objectClass: dcObject objectClass: dcObject
 objectClass: organization objectClass: organization
-o: Computer cluster+o: Computer Cluster
 dc: 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
 </code> </code>
  
  
-基本構造作成+ 
 +===== 基本構造作成 ===== 
 + 
 +組織単位を作成し、LDAPに追加する。
  
 <code> <code>
-vim base.ldif+nano base.ldif
 </code> </code>
 +
 <file - base.ldif> <file - base.ldif>
-dn: ou=People,dc=cluster,dc=home,dc=arpa+dn: ou=people,dc=cluster,dc=home,dc=arpa
 objectClass: organizationalUnit objectClass: organizationalUnit
-ou: People+ou: people
  
-dn: ou=Groups,dc=cluster,dc=home,dc=arpa+dn: ou=groups,dc=cluster,dc=home,dc=arpa
 objectClass: organizationalUnit objectClass: organizationalUnit
-ou: Groups+ou: groups
 </file> </file>
 +
 <code> <code>
-ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f base.ldif+ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f base.ldif
 </code> </code>
  
 +ちゃんと設定されたか確認。
  
-ユーザーの作成+<code> 
 +$ 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 
 + 
 +</code> 
 + 
 + 
 + 
 +===== ユーザーの追加 ===== 
 + 
 +ユーザーの初期パスワードを設定する。 
 + 
 +<code> 
 +$ slappasswd 
 +New password:  
 +Re-enter new password:  
 +{SSHA}9VhiMfY0h9+SiAzqqCRIYGnKedgMUfH5 
 +</code> 
 + 
 +ユーザー情報の作成
  
 <code> <code>
Line 64: Line 132:
 </code> </code>
 <file - user.ldif> <file - user.ldif>
-dn: uid=taro,ou=People,dc=cluster,dc=home,dc=arpa+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: inetOrgPerson
 objectClass: posixAccount objectClass: posixAccount
Line 75: Line 148:
 homeDirectory: /home/taro homeDirectory: /home/taro
 loginShell: /bin/bash loginShell: /bin/bash
-userPassword: {SSHA}JzL3FwGnjzKz2dBzPd82zsH4eN3Nx+lT+userPassword: {SSHA}9VhiMfY0h9+SiAzqqCRIYGnKedgMUfH5
 </file> </file>
  
Line 81: Line 154:
 $ ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f user.ldif $ ldapadd -x -D cn=admin,dc=cluster,dc=home,dc=arpa -W -f user.ldif
 </code> </code>
- 
-パスワードのSSHAハッシュは以下で取得できます。 
- 
-<code> 
-$ slappasswd 
-New password:  
-Re-enter new password:  
-{SSHA}JzL3FwGnjzKz2dBzPd82zsH4eN3Nx+lT 
-</code> 
- 
- 
  
 ちゃんと登録されているか確認 ちゃんと登録されているか確認
 <code> <code>
-ldapsearch -x -LLL -b dc=cluster,dc=home,dc=arpa+sudo slapcat
 </code> </code>
  
Line 129: Line 191:
  
 ====== 計算ノードでの作業 ====== ====== 計算ノードでの作業 ======
 +
 +<code>
 +$ apt install libnss-ldapd libpam-ldapd ldap-utils
 +</code>
 +
 +  * LDAP server URI: ldap://192.168.0.1/
 +  * LDAP server search base: dc=cluster,dc=home,dc=arpa
 +  * Name services to configure: passwd, group, shadow, hosts (スペースキーでチェックを入れられます)
 +
 +ユーザーがいるか確認
 +
 +<code>
 +$ getent passwd taro
 +taro:x:10000:10000:Taro Yamada:/home/taro:/bin/bash
 +</code>
 +
 +
 +参考
 +
 +
 +https://server-network-note.net/2022/11/openldap-client-ubuntu22-04lts-server/
 +
 +https://zenn.dev/iasl/articles/1d35c87a66ee35
 +
 +
 +
 +
 +
 +====== SSSD ======
 +
  
 必要なパッケージのインストール 必要なパッケージのインストール
Line 144: Line 236:
 [sssd] [sssd]
 services = nss, pam services = nss, pam
-domains = cluster.home.arpa+config_file_version = 2 
 +domains = default
  
-[domain/cluster.home.arpa]+[domain/default]
 id_provider = ldap id_provider = ldap
 auth_provider = ldap auth_provider = ldap
  
-ldap_uri = ldap://192.168.0.1+ldap_uri = ldap://192.168.01.
 ldap_search_base = dc=cluster,dc=home,dc=arpa ldap_search_base = dc=cluster,dc=home,dc=arpa
  
-# ユーザーグループの場所 +# ユーザーグループの場所 
-ldap_user_search_base = ou=People,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_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_bind_dn = cn=admin,dc=cluster,dc=home,dc=arpa
-ldap_default_authtok = LDAPパスワード+ldap_default_authtok = LDAPをインストールした際に設定したパスワード
  
-ホームディレクトリ +TLS 
-ldap_user_home_directory /home/%u+ldap_id_use_start_tls false 
 +ldap_tls_reqcert = never 
 +ldap_auth_disable_tls_never_use_in_production = true
 </file> </file>
  
Line 223: Line 318:
 </code> </code>
  
 +
 +
 +=== memo ===
 +
 +<file>
 +#
 +# /etc/pam.d/common-account - authorization settings common to all services
 +#
 +# This file is included from other service-specific PAM config files,
 +# and should contain a list of the authorization modules that define
 +# the central access policy for use on the system.  The default is to
 +# only deny service to users whose accounts are expired in /etc/shadow.
 +#
 +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
 +# To take advantage of this, it is recommended that you configure any
 +# local modules either before or after the default block, and use
 +# pam-auth-update to manage selection of other modules.  See
 +# pam-auth-update(8) for details.
 +#
 +
 +# here are the per-package modules (the "Primary" block)
 +account [success=ok new_authtok_reqd=done default=ignore] pam_ldap.so
 +account required pam_unix.so 
 +# here's the fallback if no module succeeds
 +account requisite pam_deny.so
 +# prime the stack with a positive return value if there isn't one already;
 +# this avoids us returning an error just because nothing sets a success code
 +# since the modules above will each just jump around
 +account required pam_permit.so
 +# and here are more per-package modules (the "Additional" block)
 +account [success=ok new_authtok_reqd=done ignore=ignore user_unknown=ignore authinfo_unavail=ignore default=bad] pam_ldap.so minimum_uid=1000
 +# end of pam-auth-update config
 +
 +</file>
自作クラスタ計算機/openldapを使ったldapサーバの基本設定.1778490366.txt.gz · Last modified: 2026/05/11 18:06 by koudai