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/13 12:01] – [計算ノードでの作業] koudai自作クラスタ計算機:openldapを使ったldapサーバの基本設定 [2026/05/15 11:58] (current) – [ユーザーの削除] koudai
Line 1: Line 1:
 ====== 管理ノード ====== ====== 管理ノード ======
 +
  
 ===== OpenLDAPのインストールと初期設定 ===== ===== OpenLDAPのインストールと初期設定 =====
 +
 +(UFWを使用している場合)LDAPサーバ用のポートを開放
 +<code>
 +$ sudo ufw allow 389
 +</code>
 +
 +ソフトウェアのインストール
  
 <code> <code>
Line 46: Line 54:
 modifyTimestamp: 20260511092330Z modifyTimestamp: 20260511092330Z
 </code> </code>
- 
  
  
Line 65: Line 72:
 objectClass: organizationalUnit objectClass: organizationalUnit
 ou: groups ou: groups
 +
 +dn: ou=hosts,dc=cluster,dc=home,dc=arpa
 +objectClass: organizationalUnit
 +ou: hosts
 </file> </file>
  
Line 162: Line 173:
 正しく登録されていれば、今まで入力した情報がすべて表示されます。 正しく登録されていれば、今まで入力した情報がすべて表示されます。
  
- +以下で述べるLDAPユーザの自動homeディレクトリ作成機能利用しないなら、手動で作成する。
- +
-LDAPユーザのhomeディレクトリを作成+
 <code> <code>
 $ sudo mkdir /home/taro $ sudo mkdir /home/taro
Line 171: Line 180:
  
  
 +===== ユーザーの削除 =====
  
- 
-LDAPサーバ用のポートを開放 
 <code> <code>
-sudo ufw allow 389+ldapdelete -x -W -D "cn=admin,dc=cluster,dc=home,dc=arpa" 'cn=taro,ou=groups,dc=cluster,dc=home,dc=arpa' 
 +$ ldapdelete -x -W -D "cn=admin,dc=cluster,dc=home,dc=arpa" 'uid=taro,ou=people,dc=cluster,dc=home,dc=arpa'
 </code> </code>
  
  
-hostsファイルを編集 +===== ユーザーの削除 =====
- +
-<file - 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 +
-</file> +
- +
- +
- +
- +
-====== 計算ノドで作業 =====+
- +
-必要なパッケージのインストール+
  
 <code> <code>
-sudo apt install sssd libnss-sss libpam-sss ldap-utils+ldapdelete ---D "cn=admin,dc=cluster,dc=home,dc=arpa" 'cn=taro,ou=groups,dc=cluster,dc=home,dc=arpa' 
 +$ ldapdelete -x -W -D "cn=admin,dc=cluster,dc=home,dc=arpa" 'uid=taro,ou=people,dc=cluster,dc=home,dc=arpa'
 </code> </code>
 +====== LDAPクライアント ======
  
-SSSD設定+  * 最近はLDAPクライアントとしてSSSDが推奨されているらしいが、設定が面倒なので昔ながらのNSLCDを使う。 
 +  * 管理ノード、計算ノードで行う。
  
 <code> <code>
-sudo vim /etc/sssd/sssd.conf+apt install libnss-ldapd libpam-ldapd
 </code> </code>
-<file - sssd.conf> 
-[sssd] 
-services = nss, pam 
-config_file_version = 2 
-domains = default 
  
-[domain/default] +  * LDAP server URI: ldap://192.168.0.1
-id_provider ldap +  * LDAP server search base: dc=cluster,dc=home,dc=arpa 
-auth_provider ldap+  * Name services to configure: passwd, group, shadow, hosts (スペースキーでチェックを入れられます)
  
-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 
-</file> 
- 
-権限変更 
 <code> <code>
-$ sudo chmod 600 /etc/sssd/sssd.conf+$ sudo pam-auth-update
 </code> </code>
 +  * 「LDAP Authentication」を有効化(通常は自動で有効化済み)
 +  * Create home directory on login を有効化
  
-NSS設定 
 <code> <code>
-$ sudo vim /etc/nsswitch.conf+$ sudo systemctl restart nslcd nscd
 </code> </code>
-<file> 
-(略) 
-passwd:         files systemd sss 
-group:          files systemd sss 
-shadow:         files systemd sss 
-(略) 
-</file> 
-普通はとくにいじる必要ないです。 
  
 +ユーザーが見えるか確認
  
-ホームディレクトリの生成 
 <code> <code>
-sudo apt install oddjob-mkhomedir+getent passwd taro 
 +taro:x:10000:10000:Taro Yamada:/home/taro:/bin/bash
 </code> </code>
  
- 
-PAM設定 
 <code> <code>
-sudo pam-auth-update+id taro
 </code> </code>
-  * 「SSS Authentication」を有効化(通常は自動で有効化済み)+  * uidとgidが見えます。
  
  
-SSSD起動+ユーザーに切り替えるには 
 <code> <code>
-sudo systemctl restart sssd +su - taro
-$ sudo systemctl enable sssd+
 </code> </code>
  
  
-ユーザーが見えか確認+ 
 +=== おまけ === 
 + 
 +ラズパイ5で組んだクラスタマシンで実行すと、追加したtaroのログインに失敗します。
  
 <code> <code>
-getent passwd taro+su - taro 
 +Password:  
 +su: Authentication failure
 </code> </code>
-  * にも表示されなかたら失敗していま+ 
 +/var/log/syslogを見ると 
 +<file> 
 +2026-05-14T16:16:19.302517+09:00 kanri kernel: audit: type=1400 audit(1778742979.300:545): apparmor="DENIED" operation="connect" class="file" profile="unix-chkpwd" name="/att/unix-chkpwd/run/nslcd/socket" pid=16833 comm="unix_chkpwd" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0 
 +</file> 
 +なっていたので、AppAmorを修正しした
  
 <code> <code>
-id taro+sudo nano /etc/apparmor.d/unix-chkpwd
 </code> </code>
-  * uidとgidが見えます。 +<file> 
- +(略) 
- +  include if exists <local/unix-chkpwd>
-ユーザーに切り替えるには+
  
 +  /att/unix-chkpwd/run/nslcd/socket rw,   #この行を追加
 +}
 +</file>
 <code> <code>
-su taro+sudo apparmor_parser -r /etc/apparmor.d/unix-chkpwd
 </code> </code>
  
  
  
 +====== 参考資料 ======
  
  
-SSSD.confの設定をいじったら +  * https://server-network-note.net/2022/11/openldap-client-ubuntu22-04lts-server/ 
- +  * https://zenn.dev/iasl/articles/1d35c87a66ee35
-<code> +
-$ sudo apt install sssd-tools +
-$ sudo nano /etc/sssd/sssd.conf +
-$ sudo chmod 600 /etc/sssd/sssd.conf +
-$ sudo systemctl restart sssd +
-$ sudo sss_cache -E +
-</code>+
自作クラスタ計算機/openldapを使ったldapサーバの基本設定.1778641302.txt.gz · Last modified: 2026/05/13 12:01 by koudai