これまで挙げた機能に必要なデータの居場所をなんとかするのは スキーマの問題です。どんな環境でも、厳粛に扱うべきものとみなして かしこまるべきではありません。ここにある例は目的にかなうはずですが、 自分の特定の必要に合わせなくてはならないことも多分あると思います。
各エントリの意味と入れるべき情報を解明するためにとても苦労してきた (きっとはっきり書いてあるのでしょうが、どこに書いてあるかが分からない) ので、 著者も試行錯誤でやってみます。しかし注意すべきことに、各用途のスキーマを 同時に問題なく利用できるというわけではありません。 Microsoft のアドレス帳には、表示されているのに LDAP で使用しない フィールドがあるようです。「役職」「ニックネーム」「市区町村」「都道府県」 「(自宅の) 郵便番号」「(自宅の) 国/地域」「(自宅の) Web ページ」 のエントリには、何の情報も必要ないように思えます (訳注:日本語版での動作は 未確認)。「個人情報」「NetMeeting」「デジタル ID」については、まだ どのように LDAP データベースに入れられるのか 解明するための努力をしていません。どんな情報も歓迎します。 Netscape のアドレス帳にも同様の問題があります。レコードが LDAP ディレクトリからローカルのアドレス帳にコピーされるときに、 幾つかのフィールドが消えてしまうのです。これは大問題とは言えなくとも、 組織全体で使うアドレスブックという性質上、ユーザはローカルにコピーする気を なくすはずです。しかも、 Netscape のアドレス帳には、他にも少しおかしな点があります。 普通のアドレスレコードでは、「ニックネーム」が格納される 属性は xmozillanickname です。ところが検索時は 単なる nickname なのです。ネックネームのエントリが スキーマに二度出てくるのには、こういう理由があるのです。
このスキーマは Microsoft Outlook 2000 と Netscape 4.73 で 動作が確認されていますが、説明、機能、エントリの必要性に関して 間違いがあれば、どうかお知らせください! (訳注:日本語のフィールド表示は Windows 98 のアドレス帳と Windows 版 Netscape 6.1 から推測したものです。日本語版での動作はほとんど未確認です。 ただ、日本語版 Windows Me + Outlook 2000 で アドレス帳を試験した範囲では正しいようでした。)
このスキーマを表現したファイルは Section 13.1 にあります。(訳注:訳者は、このファイルをどう使うのか分かりませんでした。 書式が古いのかも?)
Table 1. LDAP の属性と objectclass ― 簡単な説明
| 機能 | Objectclass | 属性 | 説明 | 既定値や例 |
|---|---|---|---|---|
| ユーザアカウント | top | デフォルト | ||
| ou | ユニット名 (Organizational Unit) | Users | ||
| person | この objectclass の所有者は人間です | |||
| uid | Unix ログイン名 | foo | ||
| cn | 氏名 (Common Name) | Foo Bar | ||
| sn | 姓 (Surname) | Bar | ||
| account | この objectclass の所有者にはアカウントがあります | |||
| posixaccount | この objectclass の所有者には Unix アカウントがあります | |||
| uidNumber | ユーザ ID (uid) 番号 | 513 | ||
| gidNumber | グループ ID (gid) 番号 | 100 | ||
| homedirectory | ホームディレクトリ | /home/users/foo | ||
| userpassword | Unix パスワード | S3cr3t | ||
| sambaaccount | この objectclass の所有者には Samba アカウントがあります | |||
| ntuid | 不明 | uid | ||
| rid | 不明 | uidnumber | ||
| lmpassword | Lanman のパスワードのハッシュ値 | 未使用 | ||
| ntpasswd | NT のパスワードのハッシュ値 | 未使用 | ||
| loginshell | ユーザのシェル | /bin/pleurop | ||
| マシンアカウント | top | デフォルト | ||
| ou | ユニット名 (Organizational Unit) | Machines | ||
| posixaccount | この objectclass の所有者には Unix アカウントがあります | |||
| uid | ログイン名 | speed$ | ||
| uidnumber | Unix のユーザ ID (uid) 番号 | 514 | ||
| gidnumber | グループ ID (gid) 番号 | 100 | ||
| homedirectory | ホームディレクトリ | 未使用 | ||
| Microsoft アドレス帳 | top | デフォルト | ||
| ou | ユニット名 (Organizational Unit) | Addressbook | ||
| microsoftaddressbook | この objectclass の所有者には Microsoft アドレス帳の プロパティがあります | |||
| cn | 表示名 (Common Name) | |||
| c | 勤務先の国/地域 (Country) | |||
| department | 勤務先の部署名 | |||
| facsimiletelephonenumber | 勤務先のファックス | |||
| givenname | 名 | |||
| homephone | 自宅の電話番号 | |||
| homepostaladdress | 自宅の番地 | |||
| info | メモ | |||
| initials | イニシャル | |||
| l | 勤務先の市区町村 | |||
| 電子メールアドレス | ||||
| mobile | 自宅の携帯電話 | |||
| organizationname | 会社名 | |||
| otherfacsimiletelephonenumber | 自宅のファックス | |||
| otherpager | 勤務先のポケットベル | 「pager」も? | ||
| physicaldeliveryofficename | 勤務先のオフィス | |||
| postaladdress | 勤務先の番地 | |||
| postalcode | 勤務先の郵便番号 | |||
| sn | 姓 (Surname) | |||
| st | 勤務先の都道府県 | |||
| telephonenumber | 勤務先の電話番号 | |||
| title | 役職 | |||
| url | 勤務先の Web ページ | |||
| Netscape アドレス帳 | top | デフォルト | ||
| ou | ユニット名 (Organizational Unit) | Addressbook | ||
| netscapeaddressbook | この objectclass の所有者には Netscape のプロパティがあります | |||
| cn | 表示 (Common Name) | |||
| cellphone | 携帯電話 | |||
| countryname | 国 | |||
| description | 説明 | |||
| facsimiletelephonenumber | Fax | |||
| givenname | 名 | |||
| homephone | 自宅の電話番号 | |||
| homeurl | 自宅の Web ページ | |||
| locality | 自宅の市区町村 | |||
| 電子メール | ||||
| nickname | ニックネーム | |||
| o | 組織 | |||
| ou | 部署 | |||
| pagerphone | ポケットベル | |||
| postalcode | 自宅の郵便番号 | |||
| sn | 姓 (Surname) | |||
| st | 都道府県 | |||
| streetaddress | 自宅の番地 | |||
| telephonenumber | 勤務先の電話番号 | |||
| title | 役職 | |||
| xmozillaanyphone | 勤務先の電話番号 | |||
| xmozillanickname | ニックネーム | 「nickname」と同じです | ||
| xmozillausehtmlmail | メッセージを受信するときの優先書式が HTML | TRUE | ||
| Netscape ローミングアクセス | top | デフォルト | ||
| ou | ユニット名 (Organizational Unit) | Roaming |
Note: Netscape と Microsoft では、アドレス帳のエントリの使い方が 少々異なります。Netscape は郵便の宛先 (住所) を streetaddress エントリに base64 エンコードで格納し、Microsoft は postaladdress エントリを使います。 しかしながら、streetaddress エントリがあると Microsoft は postaladdress の代わりにそちらを使います。ところが Microsoft の streetaddress の値は base 64 エンコードなしの平文 (プレーンテキスト) です。 ですから、同時には使えません。
Linux Center では、 LDAP スキーマ全般に関する情報をさらに得られます。 Microsoft アドレス帳のプロパティを解説した文書は Microsoft Developers Network にありました。
注意してください。Microsoft のページにある説明は アドレス帳の表示内容におけるフィールドと合致しません。 また、アドレス帳のフィールドすべてが情報を持っているわけではありませんが、 挙げられている属性で うまく動作しないなら、本当は どの属性が うまく動作するのか、ということまでは分かりません。