User Tools

Site Tools


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

管理ノード

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