2007年12月6日

OpenDirectory で自動マウンタのマップ

自動マウントのマップを提供するのは Open Directory に限らず一般的なLDAPサーバのお話になる。

Open Directory で使うのに留意するのは2点のみである。

  1. 利用できる LDAP schema は2種類である。
    1. automountMap/auotmount (rfc2307bisに記載があるもの)
    2. nisMap/nisObject (rfc2307に定義されている)
  2. エントリの置き場所は、cn=automountMap,<basedn> の下が推奨

今まで、Open Directory で認証できたOSのために、マップ情報を提供してみた。

ただし、amdは除く、、、

前提

  1. Open Directory にユーザの認証情報がある。
  2. ユーザのホームディレクトリは、/home/fileserver/usernameの形式にする。
  3. fileserver はDebian/Linux etch の普通のNFSサーバである。
  4. NFSv3/NFSv4 で共通のエクスポートポイントで、/export/home を公開している。
  5. sec=sys/krb5/krb5i/krb5pのセキュリティモードにも対応してる。

本当は、sec=sys を切り捨てたいが、未だにNFSv3でsec=sysのみでの対応しかできないクライアントがまだまだある。。。

2 に関しては、ホームディレクトリ直上のディレクトリが間接マップだと、MacOSX の Finder が正しくホームディレクトリを扱えない場合があるためで、特にファイルサーバ名でなくグループ名でも構わない。

MacOSX 10.5.x 用

ファイルベースのauto_master/auto_home は既にあり、同時にNIS or LDAP への参照のエントリが書かれている。なので、auto_home にエントリを追加すればよい。

dn: automountMapName=auto_home,cn=automountMap,dc=example,dc=com
objectClass: automountMap
objectClass: top
automountMapName: auto_home

dn: automountKey=fileserver,automountMapName=auto_home,cn=automountMap,dc=example,dc=com
objectClass: automount
objectClass: top
automountInformation: fileserver:/export/home
automountKey: fileserver

Solaris 8〜10 用

Solaris8/9 は NFSv3 で、 Solaris10 は NFSv4 がデフォルトになるが、/etc/default/nfs で変更ができる。サーバ側でNFSv3/NFSv4 両方の対応ができているが、sec=krb5i ありでマウントできるようにしたい。。。なぁ。

そのために、auto_master マップ名をauto_master_solaris別名で参照する設定をしたので、こいつにオプションを付加して対応する。

dn: automountMapName=auto_master_solaris,cn=automountMap,dc=example,dc=com
objectClass: automountMap
objectClass: top
automountMapName: auto_master_solaris

dn: automountKey=/home,automountMapName=auto_master_solaris,cn=automountMap,dc=example,dc=com
objectClass: automount
objectClass: top
automountInformation: auto_home -sec=krb5i
automountKey: /home

Linux autofs 5.x 用

未だに主流にならない autofs 5.x はどこに行く。。。

マップ名は既にauto.master であり別名化しなくてもよい。LDAP schema は automountMap/automount(rfc2307bis) を選択する。(CentOS/Fedora系では/etc/sysconfig/autofs とかで設定)。

/home エントリは、auto_home を再利用し、同時に NFSv4 と sec=krb5i を利用するようにする。

dn: automountMapName=auto.master,cn=automountMap,dc=example,dc=com
objectClass: automountMap
objectClass: top
automountMapName: auto.master

dn: automountKey=/home,automountMapName=auto.master,cn=automountMap,dc=example,dc=com
objectClass: automount
objectClass: top
automountInformation: ldap:auto_home -fstype=nfs4,sec=krb5i
automountKey: /home

Linux autofs 3.x, 4.x 用

未だにこっちの方(CentOS4, etchとか)が多いのか?!

3.x, 4.x と通して共通の設定にするには

  1. LDAP schema は nisMap/nisObject
  2. autmount情報は古い形式(ldap:host:basedn)で書く必要がある。
  3. NFSv3 で、セキュリティフレーバなし。

が必要なので、auto.master/auto.home をnisMap/nisObject として登録する。

dn: nisMapName=auto.master,cn=automountMap,dc=example,dc=com
objectClass: nisMap
objectClass: top
nisMapName: auto.master

dn: nisMapName=auto.master,cn=automountMap,dc=example,dc=com
objectClass: nisObject
objectClass: top
cn: /home
nisMapEntry: ldap:auth.home.moimoitei.jp:nisMapName=auto.home,cn=automountMap,dc=example,dc=com
nisMapName: auto.master

dn: nisMapName=auto.home,cn=automountMap,dc=example,dc=com
objectClass: nisMap
objectClass: top
nisMapName: auto.home

dn: nisMapName=auto.home,cn=automountMap,dc=example,dc=com
objectClass: nisObject
objectClass: top
cn: fileserver
nisMapEntry: fileserver:/export/home
nisMapName: auto.home

ちょっと、無理し過ぎかも。

追記

Open Directory の設定のまとめ 2008Q1

0 件のコメント: