$ sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
dn: cn=config
dn: cn=module{0},cn=config
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}cosine,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: olcBackend={0}hdb,cn=config
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}hdb,cn=config
$ sudo ldapsearch -x -LLL -H ldap:/// -b dc=vmhost,dc=localdomain dn
dn: dc=vmhost,dc=localdomain
dn: cn=admin,dc=vmhost,dc=localdomain
では次に、ユーザ認証/管理ができるようにしてみます。/etc/passwd,shadow,groups 相当のスキーマとして、
• ou=People,dc=vmhost,dc=localdomain というエントリ以下にユーザを格納
• ou=Groups,dc=vmhost,dc=localdomain というエントリ以下にグループを格納
• cn=uwabami,ou=Groups,dc=vmhost,dc=localdomain というグループを追加
• cn=uwabami,ou=People,dc=vmhost,dc=localdomain というユーザを追加
する LDIF(LDAP Data Interchange Format) ファイルを書き, ldapadd で DIT に追加します。
$ cat add_People.ldif
#
# ユーザを格納するエントリの追加
#
dn: ou=People,dc=vmhost,dc=localdomain
objectClass: organizationalUnit
ou: People
$ cat add_Groups.ldif
#
# Groups を格納するエントリの追加
#
dn: ou=Groups,dc=vmhost,dc=localdomain
objectClass: organizationalUnit
ou: Groups
$ cat add_account_uwabami.ldif
dn: cn=uwabami,ou=Groups,dc=vmhost,dc=localdomain
objectClass: posixGroup
cn: uwabami
gidNumber: 3000
dn: uid=uwabami,ou=People,dc=vmhost,dc=localdomain
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: uwabami
sn: SASAKI
givenName: Youhei
cn: Youhei SASAKI
displayName: Youhei SASAKI
uidNumber: 3000
gidNumber: 3000
userPassword: {SSHA}jP68h6yzJOlnRMda7IFI0LrTSe/lrFgO
gecos: Youhei SASAKI, admin of this computer.
loginShell: /bin/zsh
homeDirectory: /home/uwabami
LDIF ファイルの形式は
• 属性名: 属性値
• 継続行の先頭は空白
• 行頭の # 以降はコメント扱い。空白行は無視
です。また、パスワードは slappasswd コマンドでハッシュにしておきます。
13