前回、LDAPサーバーの設定をしたので、今回はアカウントを登録していきます。
ou=peopleの中に作ったou=1thにユーザーを登録していくのですが、homeをNFS共有する都合でまずサーバー上にローカルユーザーを作ります。
root@deb:~# adduser hoge -u 10101 --home /home/ldap/hoge
uid10101、gid10101のユーザー「hoge」を作りました。
LDAPユーザーはuid10000番代、1thに所属するので10100番代という規則にしています。2thなら10200番代にします。
"/home/ldap"の中にホームディレクトリを作っているのは、NFS共有するときにサーバーの管理用アカウントがクライアントから見えないようにするためです。
次にサーバーに登録していきます。以下の内容をvimなりemacsなりでldifファイルに記述します。
dn: uid=hoge,ou=1th,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Hoge Fuga
sn: Hoge
gn: Fuga
userPassword: asdf12345
loginShell: /bin/bash
uidNumber: 10101
gidNumber: 10101
homeDirectory: /homes/hoge
dn: cn=hoge,ou=1th,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: hoge
gidNumber: 10101
memberUid: hoge
サーバーのローカルに作ったユーザーとuid、gidを一致させるのがミソです。ホームディレクトリをNFSマウントするときに役立ちます。
パスワードは、とりあえず平文で簡単なものを入れておきます。初めてログインしたときに、使う人に変えてもらいましょう。
snは「surname」のことなので姓、gnは「given name」のことなので名をいれて、cnが「名 姓」になるようにしています。(無くても登録できるらしいのですが。)"uid="のところが実際にログインするときに使われるので、そこは小文字で姓にします。
"homeDirectory"が"/homes"の中なのは、クライアントのローカルユーザーのホームディレクトリと区別するためです。
root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f hoge.ldif
で登録します。
学年ごとのグループも作っておきます。
root@deb:~# adduser --group 1th --gid 10100
gid10000を持つ1thグループができました。これをサーバーに登録します。
dn: cn=1th,ou=1th,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: 1th
gidNumber: 10000
memberUid: hoge
memberUid: piyo
cnに書いたものがグループ名になります。memberUidにuidを書いたものがグループのメンバーになります。
root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f 1th.ldif
部活全体のグループも作っておきます。
root@deb:~# adduser --group all --gid 10000
dn: cn=all,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: all
gidNumber: 10000
memberUid: hoge
memberUid: piyo
memberUid: hage
root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f all.ldif
slapcatをして設定を確認しましょう。
次回に続きます。