自作クラスタ計算機:openldapを使ったldapサーバの基本設定
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 自作クラスタ計算機:openldapを使ったldapサーバの基本設定 [2026/07/03 00:48] – koudai | 自作クラスタ計算機:openldapを使ったldapサーバの基本設定 [2026/07/09 02:07] (current) – [LDAPクライアント] koudai | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| ===== OpenLDAPのインストールと初期設定 ===== | ===== OpenLDAPのインストールと初期設定 ===== | ||
| - | |||
| - | (UFWを使用している場合)LDAPサーバ用のポートを開放 | ||
| - | < | ||
| - | $ sudo ufw allow ldap | ||
| - | </ | ||
| ソフトウェアのインストール | ソフトウェアのインストール | ||
| Line 31: | Line 26: | ||
| * Omit OpenLDAP server Configuration?: | * Omit OpenLDAP server Configuration?: | ||
| - | * DNS domain name: cluster.internal | + | * DNS domain name: cluster.internal |
| + | * プライベートLANの名前と思えばよい。 | ||
| * 世の中(インターネットの中)にある他のドメイン名と衝突しなければなんでもよい。 | * 世の中(インターネットの中)にある他のドメイン名と衝突しなければなんでもよい。 | ||
| - | * そのため、固定IPと対応するドメイン名をもらったのなら、それを使うのが一般的。 | + | * そのため、固定IPと対応する公開ドメイン名をもらったのなら、それを使うのが一般的。 |
| - | * たとえば、固定IPとともに | + | * たとえば、固定IPとともに |
| * LDAPサーバーがプライベートLANで閉じることが確約しているのなら、hogehoge.internal や hogehoge.home.arpa が広く使われている、らしい | * LDAPサーバーがプライベートLANで閉じることが確約しているのなら、hogehoge.internal や hogehoge.home.arpa が広く使われている、らしい | ||
| * https:// | * https:// | ||
| Line 91: | Line 87: | ||
| * ユーザー | * ユーザー | ||
| * グループ | * グループ | ||
| - | * ホスト名(Kea DHCPを使用した場合) | ||
| を管理します。 | を管理します。 | ||
| Line 155: | Line 150: | ||
| ===== ユーザーの追加 ===== | ===== ユーザーの追加 ===== | ||
| - | ユーザーの初期パスワードを設定する。 | + | ハッシュ化されたユーザーの初期パスワードを設定する。 |
| < | < | ||
| Line 219: | Line 214: | ||
| $ ldapdelete -x -W -D " | $ ldapdelete -x -W -D " | ||
| </ | </ | ||
| - | |||
| - | |||
| - | ===== ホストの追加 ===== | ||
| - | |||
| - | LDIFファイルは必要な分だけ書いてください。 | ||
| - | |||
| - | <file - hosts.ldif> | ||
| - | dn: cn=head, | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | cn: head | ||
| - | ipHostNumber: | ||
| - | |||
| - | dn: cn=node11, | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | cn: node11 | ||
| - | ipHostNumber: | ||
| - | |||
| - | dn: cn=node12, | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | objectClass: | ||
| - | cn: node12 | ||
| - | ipHostNumber: | ||
| - | </ | ||
| - | |||
| - | 登録 | ||
| - | |||
| - | < | ||
| - | $ ldapadd -x -D " | ||
| - | </ | ||
| - | |||
| 確認 | 確認 | ||
| Line 273: | Line 233: | ||
| * LDAP server URI: ldap:// | * LDAP server URI: ldap:// | ||
| * LDAP server search base: dc=cluster, | * LDAP server search base: dc=cluster, | ||
| - | * Name services to configure: passwd, group, shadow, hosts (スペースキーでチェックを入れられます) | + | * Name services to configure: passwd, group, shadow (スペースキーでチェックを入れられます) |
| - | - 管理ノードでのみ実行< | + | - (管理ノードのみ)PAM(Pluggable Authentication Modules)の認証設定< |
| $ sudo pam-auth-update | $ sudo pam-auth-update | ||
| </ | </ | ||
| * 「LDAP Authentication」を有効化(通常は自動で有効化済み) | * 「LDAP Authentication」を有効化(通常は自動で有効化済み) | ||
| * Create home directory on login を有効化 | * Create home directory on login を有効化 | ||
| - | - nscd+nslcdを再起動< | + | - (管理ノードのみ)nscd+nslcdを再起動< |
| $ sudo systemctl restart nslcd nscd | $ sudo systemctl restart nslcd nscd | ||
| </ | </ | ||
| Line 290: | Line 250: | ||
| </ | </ | ||
| * uidとgidが見えます。 | * uidとgidが見えます。 | ||
| - | - ホストが反映されているか確認< | ||
| - | $ getent hosts | ||
| - | </ | ||
| - ユーザーに切り替えるには< | - ユーザーに切り替えるには< | ||
| $ su - taro | $ su - taro | ||
| Line 341: | Line 298: | ||
| $ sudo systemctl reload apparmor | $ sudo systemctl reload apparmor | ||
| </ | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ====== おまけ ====== | ||
| + | |||
| + | ===== ホスト名の共有 ===== | ||
| + | |||
| + | LDAPでは、ユーザー情報だけでなくホスト名も共有できます。 | ||
| + | 通常はDNSサーバーを使って名前解決すべきなのであまり推奨されません。 | ||
| + | しかし、DNSサーバーを立てる必要がない分だけ楽にクラスター計算機が構築できます。 | ||
| + | |||
| + | ==== 管理ノードでの作業 ==== | ||
| + | |||
| + | - LDAPでホスト情報を扱えるようにする。< | ||
| + | dn: ou=hosts, | ||
| + | objectClass: | ||
| + | ou: hosts | ||
| + | </ | ||
| + | $ ldapadd -x -D cn=admin, | ||
| + | </ | ||
| + | - 個別のホスト情報を登録(LDIFファイルには必要な分だけ書いてください。)< | ||
| + | dn: cn=head, | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | cn: head | ||
| + | ipHostNumber: | ||
| + | |||
| + | dn: cn=node11, | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | cn: node11 | ||
| + | ipHostNumber: | ||
| + | |||
| + | dn: cn=node12, | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | cn: node12 | ||
| + | ipHostNumber: | ||
| + | </ | ||
| + | $ ldapadd -x -D " | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== 管理・計算ノードでの作業 ==== | ||
| + | |||
| + | libnss-ldapdをインストールするときにhostsも共有するか聞かれますが、そこで共有しないようにしてしまった人向け。 | ||
| + | |||
| + | |||
| + | - / | ||
| + | # / | ||
| + | # | ||
| + | # Example configuration of GNU Name Service Switch functionality. | ||
| + | # If you have the `glibc-doc-reference' | ||
| + | # `info libc "Name Service Switch"' | ||
| + | |||
| + | passwd: | ||
| + | group: | ||
| + | shadow: | ||
| + | gshadow: | ||
| + | |||
| + | hosts: | ||
| + | networks: | ||
| + | |||
| + | protocols: | ||
| + | services: | ||
| + | ethers: | ||
| + | rpc: db files | ||
| + | |||
| + | netgroup: | ||
| + | </ | ||
| + | - nscd, nslcdの再起動< | ||
| + | $ sudo systemctl restart nslcd nscd | ||
| + | </ | ||
| + | - ホストが反映されているか確認< | ||
| + | $ getent hosts | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| ====== 参考資料 ====== | ====== 参考資料 ====== | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
自作クラスタ計算機/openldapを使ったldapサーバの基本設定.1783007317.txt.gz · Last modified: 2026/07/03 00:48 by koudai
