389 Directory Server にグループとユーザーを登録する手順です。LDAP のユーザーは Linux、Samba、Postfix、SSSD などから参照されるため、uid、gid、mail、cn などの属性設計を揃えることが重要です。
参考
書籍
書籍
参考書籍
LDAP – 設定・管理・プログラミング
LDAP の基礎、ディレクトリ設計、検索、認証連携を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
389 Directory Server シリーズ
前の記事: Ubuntu 22.04 389 Directory Server #4 – BIND ユーザーとアクセス制御
ユーザーとグループの考え方
LDAP では、ユーザーとグループを DN と属性の集合として管理します。Linux 認証で使う場合は POSIX 属性、Samba で使う場合は Samba 用属性、Postfix で使う場合は mail や alias 属性が関係します。
| 属性 | 意味 |
| uid | ログイン名 |
| uidNumber | Linux の UID |
| gidNumber | Linux の GID |
| homeDirectory | ホームディレクトリ |
| loginShell | ログインシェル |
| メールアドレス | |
| cn / sn | 表示名や姓 |
グループ登録
cat <<'EOF' > /tmp/group.ldif
dn: cn=mygroup,ou=groups,dc=example,dc=local
objectClass: top
objectClass: posixGroup
cn: mygroup
gidNumber: 10000
EOF
ldapadd -x -H ldaps://ldap.example.local -D 'cn=rw,ou=service,dc=example,dc=local' -W -f /tmp/group.ldifユーザー登録
cat <<'EOF' > /tmp/user.ldif
dn: uid=myadmin,ou=users,dc=example,dc=local
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
cn: myadmin
sn: myadmin
uid: myadmin
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/myadmin
loginShell: /bin/bash
mail: myadmin@example.local
userPassword: {SSHA}replace-with-password-hash
EOF
ldapadd -x -H ldaps://ldap.example.local -D 'cn=rw,ou=service,dc=example,dc=local' -W -f /tmp/user.ldif確認
ldapsearch -x -H ldaps://ldap.example.local -D 'cn=ro,ou=service,dc=example,dc=local' -W -b ou=users,dc=example,dc=local '(uid=myadmin)'
ldapsearch -x -H ldaps://ldap.example.local -D 'cn=ro,ou=service,dc=example,dc=local' -W -b ou=groups,dc=example,dc=local '(cn=mygroup)'Samba や SSSD との関係
このユーザー情報は Linux 認証やメール alias の土台になります。ただし、Samba 認証では NT パスワードや SID など Samba 固有の属性も必要になります。Linux ユーザーとして登録できたことと、Samba ユーザーとして認証できることは同じではありません。
まとめ
LDAP のユーザーとグループは、内部認証基盤の中心です。uidNumber、gidNumber、homeDirectory、mail などの属性を適当に決めると、Samba、Postfix、SSSD で後から整合性が崩れます。どのサービスがどの属性を参照するのかを意識して登録します。
Ubuntu 22.04 389 Directory Server #5 – グループとユーザーの登録


