SnowLeopardServerを中心にアカウントとホームディレクトリーを管理して、他から(linux)の
認証、マウント要求を受け付けるとする。
SnowLeopardServerはLDAPそのままなので、Linux側の認証設定ツール(authconfig-tui/authconfig-gtk)により定義可能。
LDAP検索ベースDNは dc=sl,dc=chaperone,dc=jp として、LDAPサーバは ldap://sl.chaperone.jp/ とします。
*注意:Linux側がldapsを要求する場合があります。その場合はSnowLeopardServerの
「サーバ管理」→「Open Directory」→「設定」→「LDAP」にてSSLを使用で証明書を選択
加えて、
「サーバ管理」→「Open Directory」→「設定」→「ポリシー」→「バインディング」のセキュリティにて
を選択します。
SnowLeopardServerでは、ホームディレクトリとなる/Users以下をNFS exportとして容易に定義できる。
サーバ管理を起動させて、「サービス」からNFSを起動させます。
そして、NFSを選択して、「共有ポイント」から/Usersを選択します。
選択した/Usersの「共有ポイント」タグで
「プロトコルオプション」をクリックする。そして「NFS」タグからNFS提供先の制限(サブネット)と
no_root_squashとなるマッピング(root から root)とかUID認証かkerberos認証かを選択します。
ユーザを定義してホームディレクトリ(/Users/foo)を定義して、その/UsersのNFS exportの設定も完了した。
この段階で クライアント側からスタティックに
(linux) # mount -t nfs sl.chaperone.jp:/Users /Users
と実行、もしくは/etc/fstabに記載すれば完了であるが、automountを定義してみた。
automountをさせるには、LDAPサーバ側にマッピング情報が必要である。auto_masterとauto_home(auto_Users)。
ただし、MacOSXServerにGUIでLDAPのautomountのマップを作るツールが見当たらない。LDAPサーバ故に
コマンドラインでautomountのマップを作製した。
automountに向けたautof.ldifは下記となる。下記は/Usersと/Applをautomountとしています。
dn: automountMapName=auto_master,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automountMap automountMapName: auto_master dn: automountMapName=auto_Users,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automountMap automountMapName: auto_Users dn: automountKey=/Users,automountMapName=auto_master,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automount automountKey: /Users automountInformation: auto_Users dn: automountKey=*,automountMapName=auto_Users,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automount automountKey: * automountInformation: -fstype=nfs sl.chaperone.jp:/Users/& dn: automountMapName=auto_Appl,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automountMap automountMapName: auto_Appl dn: automountKey=/Appl,automountMapName=auto_master,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automount automountKey: /Appl automountInformation: auto_Appl dn: automountKey=*,automountMapName=auto_Appl,dc=sl,dc=chaperone,dc=jp objectClass: top objectClass: automount automountKey: * automountInformation: -fstype=nfs sl.chaperone.jp:/Appl/&
このファイルをldapaddコマンドでLDAPに読み込ませます。
ldapadd -f autofs.ldif -x -D 'uid=diradmin,cn=users,dc=sl,dc=chaperone,dc=jp' -W
問題が起こった際の削除は下記のようにします。
ldapdelete -x -D 'uid=diradmin,cn=users,dc=sl,dc=chaperone,dc=jp' -W "automountKey=*,automountMapName=auto_Users,dc=sl,dc=chaperone,dc=jp"
ちなみに、LDAP内の検索は下記になります。
ldapsearch -x -D 'uid=diradmin,cn=users,dc=sl,dc=chaperone,dc=jp' -W -b "dc=sl,dc=chaperone,dc=jp" |less