次世代 (と言っても Solaris 10 から BSD 系にも移植されて、既にそこそこ普及しているようだが) ファイル・システム ZFS に慣れるため、少し前から OpenSolaris 2009.06 をチマチマといじっている。ライセンス問題が横たわる Linux でも一応 FUSE 経由で ZFS は使えるものの、やはりパフォーマンスではネイティブ動作にやや劣るし、機能も一部制限されるとのこと。Linux にネイティブ移植される日を待ちながら、本場の ZFS で腕を磨いておくとしよう。

その OpenSolaris は VMware ESXi 上のテスト用仮想マシン (以下 VM) とは言え、我が家ではユーザー・アカウントを OpenLDAP で管理しているので、他の Linux と同様に LDAP クライアントとして設定したい。ところが最近の Linux では比較的簡単になったこの設定も、いろいろと勝手が違う OpenSolaris では少々手こずった。

ああだこうだと彷徨った様子を紹介しても仕方がないので、ズバリ結論を書いてしまうと、このページにある方法で上手く行った。最低限必要な作業は、以下の 3ステップ。

# ldapclient manual \
-a credentialLevel=proxy \
-a authenticationMethod=simple \
-a proxyDN=cn=DNname,dc=example,dc=com \
-a proxyPassword=password \
-a defaultSearchBase=dc=example,dc=com \
-a defaultServerList=192.168.xxx.xxx:389 \
-a serviceSearchDescriptor=passwd:ou=Users,dc=example,dc=com \
-a serviceSearchDescriptor=group:ou=Groups,dc=example,dc=com
System successfully configured ← 成功

# vi /etc/pam.conf ← 以下の行をそれぞれのサービス行群に追加
login   auth required           pam_ldap.so.1
other   auth required           pam_ldap.so.1
passwd  auth required           pam_ldap.so.1

# getent passwd ← LDAP 上のアカウントが表示されるか確認

僕は管理用ユーザーと一般ユーザーのホーム・ディレクトリをそれぞれ /home/managers/username、/home/users/username としていて、LDAP 上の一般ユーザーも、多くはホーム・ディレクトリが /home/users/ 以下にあることを想定している。しかし Solaris 系では /home が autofs の管理下にあって具合が悪い (=サブ・ディレクトリやシンボリック・リンクを作成できない)。前述のページでは LDAP 上のユーザー用に autofs の設定を追加しているが、 僕はとりあえず /etc/auto_master の /home 行を無効にし、/home 内をいじれるようにしておいた (※ Solaris 的にはあまり推奨されない方法のはず)。

# vi /etc/auto_master
#/home          auto_home       -nobrowse ← /home をコメント・アウト

# svcadm -v restart autofs ← autofs を再起動

さて、Oracle の Sun Microsystems 買収に伴う方針転換等で、Solaris を始め OpenSolaris プロジェクトもゴタゴタしている様子。Oracle が 「Sun 由来のオープンソース関係は廃止」 と言い出さないことを祈りたいが、同社の判断次第で影響を受けるのは、Solaris や ZFS だけではなく、Java を始め VirtualBox、OpenOffice.org、MySQL 等も同じ。これらの技術・製品への依存度は高いので、いきなり打ち切りやサブマリン特許的なことをされてしまうと、けっこうヤバい。「どれか一つだけ助けてやる」 と言われたら、個人的には MySQL に一票か (可能なら別の場所から別人を装ってもう一票)。

One Response to this entry.

  • Natz:

    OpenSolaris ベースの BeleniX 0.7.1 でも、同じ手順で LDAP 化に成功。