<!doctype linuxdoctr system>

<!-- LDAP Linux HOWTO -->

<article>

<!-- Title information -->

<title>LDAP Linux HOWTO
<author>Luiz Ernesto Pinheiro Malere, <tt/malere@yahoo.com/
<date>v1.03, 28 September 2000
<trans>和訳：稲地 稔 &lt;<tt/inachi@earth.interq.or.jp/&gt;
<tdate>v1.03j, 21 December 2000
<abstract>
<!-- [orig]
Information about installing, configuring, running and maintaining a
LDAP (Lightweight Directory Access Protocol) Server on a Linux machine
is presented on this document. There are also details about how to
create LDAP databases, how to update and delete information on the
database, how to implement roaming access and how to use Netscape
Address Book. This document is mostly based on the University of
Michigan LDAP information pages and on the OpenLDAP Administrator's
Guide.
-->
この文書は、Linux マシンにおける LDAP (Lightweight Directory Access
Protocol)サーバのインストール、設定、実行、管理に関する情報を載せて
います。また、LDAP データベースの作成方法、データベース中の情報の
更新と削除、ローミングアクセスを実現する方法、Netscape のアドレス帳の
利用方法についての詳細も載せています。この文書の大部分は、ミシガン大学
の LDAP 情報ページと OpenLDAP Administrator's Guide を基にしました。
</abstract>

<!-- Table of contents -->
<toc>

<!-- Begin the document -->

<!-- [orig]
<sect>Introduction
-->
<sect>はじめに

<p>
<!-- [orig]
The main purpose of this document is to set up and use a LDAP Directory Server on your Linux machine.You will
learn how to install, configure, run and maintain the LDAP server. After you also learn how you can store,
retrieve and update information on your Directory using the LDAP clients and utilities.
 The daemon for the LDAP directory server is called <it/slapd/ and it
runs on many different UNIX platforms. 
-->
この文書の主な目的は、Linux マシン上に LDAP ディレクトリサーバを
セットアップして利用することです。読者は、LDAP サーバをインストール、
設定、実行、管理する方法について学びます。その後、LDAP クライアント
とユーティリティを用いてディレクトリ中の情報を格納、取得、更新する
方法についても学びます。LDAP ディレクトリサーバのデーモンは <it/slapd/
とよばれ、様々な UNIX プラットフォームで動作します。
<p> 
<!-- [orig]
There is another daemon that cares for replication between LDAP servers. It's called <it/slurpd/ and for the
moment you don't need to worry about it. In this document you run a slapd which provides directory service for
your local domain only, without replication, so without slurpd. 
-->
LDAP サーバ間の複製をつかさどる別のデーモンがあります。
このデーモンは <it/slurpd/ とよばれていますが、さしあたりこれに
ついて気にする必要はありません。この文書では、
あなたのローカルドメインにディレクトリサービスを提供する slapd
を実行します。複製はしないので slurpd は使いません。
<p>
<!-- [orig]
This is a simple configuration for the server, good for starting but easy to upgrade to another configuration
later if you want.
The information presented on this document represents a nice initialization on using the LDAP protocol.
Possibly after reading this document you would feel encouraged to expand the capabilities of your server and
even write your own clients, using the already avaiable C, C++ and Java Development Kits.
-->
この文書で説明するのは、初心者にとってちょうどよい程度の簡単な
サーバの環境構築ですが、望むなら後で別の設定にアップグレードする
ことも簡単です。この文書に載せている情報は、LDAP プロトコルを
利用するよい足がかりとなります。おそらくこの文書を読んだ後には、
サーバの能力を拡張したり、さらには C, C++, Java 開発キットなどを
使ってクライアントを書きたくなったりすることでしょう。

<!-- [orig]
<sect1>What's LDAP ?
-->
<sect1>LDAP とは？
<p>
<!-- [orig]
LDAP is a client-server protocol for accessing a directory service.
It was initially used as a front-end to X.500, but can also be used with stand-alone and other kinds of
directory servers.
-->
LDAP とは、ディレクトリサービスにアクセスするためのクライアントサーバ
プロトコルです。これは当初 X.500 のフロントエンドとして使われて
いましたが、スタンドアローンのディレクトリサーバや他の種類の
ディレクトリサーバでも使えるようになりました。

<!-- [orig]
<sect1>What's a Directory Service ?
-->
<sect1>ディレクトリサービスとは？
<p>
<!-- [orig]
A directory is like a database, but tends to contain more descriptive, attribute-based information. The
information in a directory is generally read much more often than it is written. As a consequence, directories
don't usually implement the complicated transaction or roll-back schemes that regular databases use for doing
high-volume complex updates. Directory updates are typically simple all-or-nothing changes, if they are
allowed at all. 
-->
ディレクトリはデータベースに似ていますが、より記述的で属性ベースの
情報を含むようになっています。一般にディレクトリ中の情報は、書込み
よりも読出しの方がずっと多く行われます。したがって、一般的なデータ
ベースで大量の複雑な更新を行うために用いられる複雑なトランザクション
やロールバック機構をディレクトリでは通常実装しません。
ディレクトリの更新は、普通は all-or-nothing の単純な書き換えに過ぎません。
<p>
<!-- [orig]
Directories are tuned to give quick-response to high-volume lookup or search operations. They may have the
ability to replicate information widely in order to increase availability and reliability, while reducing
response time. When directory information is replicated, temporary inconsistencies between the replicas may be
OK, as long as they get in sync eventually.
-->
ディレクトリは、大量の照会あるいは検索操作に即応できるように最適化
されています。稼働率と信頼性を向上、かつレスポンスタイムを減らすために、
ディレクトリには情報を広く複製する能力があります。ディレクトリ情報が
複製されている場合、一時的な不整合が発生するかもしれませんが、定期的に
同期をとるようにしておけば問題ありません。
<p>
<!-- [orig]
There are many different ways to provide a directory service. Different methods allow different kinds of
information to be stored in the directory, place different requirements on how that
information can be referenced, queried and updated, how it is protected from unauthorized access, etc. Some
directory services are local, providing service to a restricted context (e.g., the finger service on a single
machine). Other services are global, providing service to a much broader context.
-->
ディレクトリサービスの提供方法には色々な種類があります。このため、
ディレクトリに保存する情報の種類が多様になり、一方では情報の参照、
問合せ、更新や、認証されないアクセスからどのように情報を守るかなどに
関して色々な要求が生じます。局所的で、限られた対象(たとえば、
単一のマシンの finger サービスなど)のみへのサービスを提供するような
ディレクトリサービスがある一方、大域的で、はるかに広い対象にサービスを
提供するようなサービスもあります。

<!-- [orig]
<sect1>How does LDAP work ?
-->
<sect1>LDAP はどのように動作するのか？
<p>
<!-- [orig]
LDAP directory service is based on a client-server model. One or more LDAP servers contain the data making up
the LDAP directory tree or LDAP backend database. An LDAP client connects to an LDAP server and asks it a
question. The server responds with the answer, or with a pointer to where the client can get more information
(typically, another LDAP server). No matter which LDAP server a client connects to, it sees the same view of
the directory; a name presented to one LDAP server references the same entry it would at another LDAP server.
This is an important feature of a global directory service, like LDAP.
-->
LDAP ディレクトリサービスは、クライアントサーバモデルを基にしています。
一つ以上のディレクトリサーバが、LDAP ディレクトリツリーあるいは
LDAP バックエンドデータベースを構成するデータを保有しています。
LDAP クライアントは LDAP サーバに接続し、そのサーバに対して質問します。
この質問に対してサーバは回答を返すか、クライアントがさらに情報を探し出せる
場所へのポインタ(通常は別のLDAPサーバ)を返します。クライアントからは、
どの LDAP サーバに接続してもディレクトリは同じように見えます。
ある LDAP サーバに提示した名前は別の LDAP サーバでも同じエントリを参照します。
これは、LDAP のような大域的ディレクトリサービスの重要な特性です。

<!-- [orig]
<sect1>LDAP backends, objects and attributes
-->
<sect1>LDAP のバックエンド、オブジェクト、属性
<p>
<!-- [orig]
Slapd comes with three different backend databases you can choose from. They are LDBM, a high-performance
disk-based database; SHELL, a database interface to arbitrary UNIX commands or shell scripts; and PASSWD, a
simple password file database.
-->
slapd には種類の異なる三つのバックエンドデータベースが付属していて、
どれを選ぶかはユーザの自由です。LDBM はディスクベースの高速な
データベースです。SHELL は UNIX コマンドあるいはスクリプトに対する
データベースインタフェースです。PASSWD は簡単なパスワードファイル
データベースです。
<p>
<!-- [orig]
In this document I assume that you choose the LDBM database.
-->
この文書では LDBM データベースを選択するものとします。
<p>
<!-- [orig]
The LDBM database works by assigning a compact four-byte unique identifier to each entry in the database. It
uses this identifier to refer to entries in indexes. The database consists of one
main index file, called id2entry, which maps from an entry's unique identifier (EID) to a text representation
of the entry itself. Other index files are maintained as well.
-->
LDBM データベースは、データベース中の各エントリに４バイトのコンパクト
で一意な識別子を割り当てることによって成り立っています。
この識別子は索引中のエントリを参照するために使われます。
データベースには、id2entry という一つの主索引ファイルが含まれます。
これは、エントリの一意な識別子(EID)をエントリ自体のテキスト表現に
マップします。その他の索引ファイルも同様に管理されます。
<p>
<!-- [orig]
To import and export directory information between LDAP-based directory servers, or to describe a set of
changes which are to be applied to a directory, the file format known as LDIF, for LDAP Data Interchange
Format, is typically used. An LDIF file stores information in object-oriented hierarchies of entries. The LDAP
software package you're going to get comes with an utility to convert LDIF files to the LDBM format
-->
LDAP ベースのディレクトリサーバ間でディレクトリ情報をインポートおよび
エクスポートしたり、ディレクトリに適用される１セットの変更を記述するには、
普通 LDIF (LDAP Data Interchange Format)というフォーマットが使われます。
LDIF は、エントリのオブジェクト指向の階層で情報を格納します。
これから利用する LDAP ソフトウェアパッケージには、
LDIF ファイルを LDBM フォーマットに変換するユーティリティが付属しています。
<p>
<!-- [orig]
A common LDIF file looks like this:
-->
一般の LDIF ファイルは次のような内容になっています。
<!-- [orig]
<p><tscreen><verb>
dn: o=TUDelft, c=NL
o: TUDelft
objectclass: organization
dn: cn=Luiz Malere, o=TUDelft, c=NL
cn: Luiz Malere
sn: Malere
mail: malere@yahoo.com
objectclass: person
</verb></tscreen>
-->
<!--??? [誤り]
 エントリの間には空行を入れなければならない
-->
<p><tscreen><verb>
dn: o=TUDelft, c=NL
o: TUDelft
objectclass: organization

dn: cn=Luiz Malere, o=TUDelft, c=NL
cn: Luiz Malere
sn: Malere
mail: malere@yahoo.com
objectclass: person
</verb></tscreen>
<p>
<!-- [orig]
As you can see each entry is uniquely identified by a distinguished name, or DN. the DN consists of the name
of the entry plus a path of names tracing the entry back to the top of the directory hierarchy.
-->
上に示したとおり、各エントリは識別名(distinguished name: DN)で一意に
識別されます。DN は、エントリの名前とエントリをディレクトリ階層の
最上位にさかのぼった名前のパスとからなります。
<p>
<!-- [orig]
In LDAP, an object class defines the collection of attributes that can
be used to define an entry. The LDAP standard provides these basic types
of object classes:
-->
LDAP では、オブジェクトクラスはエントリを定義するために使える属性の
集まりを定義します。LDAP の標準では、次のようなオブジェクトクラスの
基本型を提供しています。
<itemize>
<!-- [orig]
<item>Groups in the directory, including unordered lists of individual objects or groups of objects.
-->
<item>ディレクトリ中のグループ -- これには、個々のオブジェクトの
順序なしリストあるいはオブジェクトのグループが含まれます。
<!-- [orig]
<item>Locations, such as the country name and description.
-->
<item>所在 -- 国名や記述など。
<!-- [orig]
<item>Organizations in the directory.
-->
<item>ディレクトリ中の組織。
<!-- [orig]
<item>People in the directory.
-->
<item>ディレクトリ中の人々。
</itemize>
<p>
<!-- [orig]
An entry can belong to more than one object class. For example, the entry for a person is defined by the
<it/person/ object class, but may also be defined by attributes in the inetOrgPerson, groupOfNames, and
organization objectclasses. The server's object class structure (its schema) determines the total list of
required and allowed attributes for a particular entry.
-->
エントリは二つ以上のオブジェクトクラスに所属できます。
たとえば、人のためのエントリは、オブジェクトクラス <it/person/ で
定義しますが、オブジェクトクラス inetOrgPerson, groupOfNames, organization
の属性によっても定義できます。サーバのオブジェクトクラス構造(そのスキーマ)は、
特定のエントリに要求された属性と許されている属性のリスト全体を決定します。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
ここでは「所属(belong)」という言葉があいまいに
使われています。inetOrgPerson は person から派生しているので、
inetOrgPerson のエントリは両方のオブジェクトクラスのエントリと言えます。
また、構造型のオブジェクトクラスと補助型のオブジェクトクラスを組み合わせた
エントリを作った場合も複数のオブジェクトクラスに「所属」していると
言えるでしょう。しかし、groupOfNames と organization は人を定義する
ものではなく、人を表現するエントリを DN で参照できるだけです。
<p>
<!-- [orig]
Directory data is represented as attribute-value pairs. Any specific piece of information is associated with a
descriptive attribute.
-->
ディレクトリのデータは、属性と値のペアとして表現されます。
情報のいかなる部分も記述的な属性と関連付けられています。
<p>
<!-- [orig]
For instance, the commonName, or cn, attribute is used to store a person's name. A person named Jonas Salk can
be represented in the directory as
-->
たとえば、属性 commonName (cn)は、人の名前を格納するために使います。
名前が Jonas Salk である人は、ディレクトリでは次のように表せます。
<tscreen><verb>
cn: Jonas Salk
</verb></tscreen>
<p>
<!-- [orig]
Each person entered in the directory is defined by the collection of attributes in the <it/person/ object
class. Other attributes used to define this entry could include:
-->
ディレクトリに格納する各人は、オブジェクトクラス <it/person/ 中の
属性の集まりによって定義されます。このエントリを定義するために
使われる他の属性には次のようなものがあります。
<tscreen><verb>
givenname: Jonas
surname: Salk
mail: jonass@airius.com
</verb></tscreen>
<p>
<!-- [orig]
Required attributes include the attributes that must be present in entries using the object class. All entries
require the objectClass attribute, which lists the object classes to which an entry belongs.
-->
必要属性(required attribute)とは、オブジェクトクラスを使うエントリに
与えなければならない属性のことです。すべてのエントリは objectClass
属性を必要とします。これはそのエントリが所属するオブジェクトクラスの
リストを指定するものです。
<p>
<!-- [orig]
Allowed attributes include the attributes that may be present in entries using the object class. For example,
in the person object class, the cn and sn attributes are required. The description, telephoneNumber, seeAlso,
and userpassword attributes are allowed but are not required.
-->
許可属性(allowed attribute)とは、オブジェクトクラスを使うエントリに
与えることのできる属性のことです。たとえば、オブジェクトクラス person
において、属性 cn と sn は必要属性であり、属性 description,
telephoneNumber, seeAlso, userpassword は許可属性であって必要属性
ではありません。
<p>
<!-- [orig]
Each attribute has a corresponding syntax definition. The syntax definition describes the type of information
provided by the attribute:
-->
各属性は、対応するシンタックス定義を持っています。このシンタックス定義は、
属性によって提供される情報のタイプを記述します。
<!-- [orig]
<itemize>
<item>bin binary
<item>ces case exact string (case must match during comparisons)
<item>cis case ignore string (case is ignored during comparisons)
<item>tel telephone number string (like cis but blanks and dashes `- ' are ignored during comparisons)
<item>dn distinguished name
</itemize>
-->
<descrip>
<tag/bin/バイナリ
<tag/ces/英大小文字を区別する文字列(比較の際に英大小文字の違いを無視しない)
<tag/cis/英大小文字を区別しない文字列(比較の際に英大小文字の違いは無視する)
<tag/tel/電話番号の文字列(cis に似ているが、比較の際にブランクと
ダッシュ `-' を無視する)
<tag/dn/識別名
</descrip>
<p> 
<!-- [orig]
Go to the first paragraph of <ref id="3" name="section 3"> to know where the objectclass and attribute
definitions lay on your system.
-->
オブジェクトクラスと属性の定義がシステムのどこにあるかを知るには、
<ref id="3" name="LDAP サーバの設定">の最初の段落を参照してください。

<!-- [orig]
<sect1>New Versions of this Document
-->
<sect1>この文書の新しいバージョン
<p>
<!-- [orig]
This document may receive corrections and updates based on the feedback received by the readers. You should
look at:
-->
この文書は、読者より受け取ったフィードバックをベースにして修正と更新を
行っています。この HOWTO の新しいバージョンは次のところで見れます。
<p>
<!-- [orig]
<url url="http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html" name="
http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html">
-->
<htmlurl url="http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html" name="
http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html">
<p>
<!-- [orig]
for new versions of this HOWTO.
-->

<!-- [orig]
<sect1>Opinions and Sugestions
-->
<!--??? [誤字]
 `Sugestions' は `Suggestions' の間違いであろう
-->
<sect1>意見と提案
<p>
<!-- [orig]
If you have any kind of doubt about some information avaiable on this document,please contact me on the
following email address:
<p>
<url url="mailto:malere@yahoo.com" name="malere@yahoo.com">
-->
この文書にある情報について何らかの疑問があれば、email で
私に連絡してください。(malere@yahoo.com)
<p>
<!-- [orig]
If you have commentaries and/or sugestions, please let me know too !
-->
<!--??? [誤字]
 `sugestions' は `suggestions' の間違いであろう
-->
コメントや提案がある場合も私に知らせてください。

<!-- [orig]
<sect1>History of Releases
-->
<sect1>リリース履歴
<!-- [orig]
<p>This section lists the releases of this document, sorted by date. Each release carries the changes
introduced on the earlier version, plus newer additions and corrections:
-->
<p>この節には、この文書のリリース一覧を日付順に載せています。
各リリースについては、前バージョンからの変更点、新規追加項目、
修正点を記しています。
<!-- [orig]
<p>v1.0: 20 June 1999, Initial version.
-->
<p>v1.0: 20 June 1999, 初期バージョン
<!-- [orig]
<p>v1.01: 15 February 2000, added the following sections:
<itemize>
<item>LDAP Migration Tools
<item>Authentication using LDAP
<item>Graphical LDAP tools
<item>RFCs
</itemize>
-->
<p>v1.01: 15 February 2000, 次の節を追加
<itemize>
<item>LDAP Migration Tools
<item>LDAP を用いた認証
<item>グラフィカルな LDAP ツール
<item>RFC
</itemize>
<!-- [orig]
<p>v1.02: 13 September 2000, correction of typos and addition of the following section:
<itemize>
<item>History of Releases
</itemize>  
-->
<p>v1.02: 13 September 2000, 誤字の修正および次の節の追加
<itemize>
<item>リリース履歴
</itemize>
<!-- [orig]
<p>v1.03: 28 September 2000, presenting OpenLDAP 2.0, which comprises Ldap v3, defined on the <url url="
ftp://ftp.isi.edu/in-notes/rfc2251.txt" name="RFC2251">.
-->
<p>v1.03: 28 September 2000, OpenLDAP 2.0 の説明の追加。これは Ldap v3
(<url url="ftp://ftp.isi.edu/in-notes/rfc2251.txt" name="RFC2251">)
を取り込んでいます。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
短期間で OpenLDAP 2.0 の情報を取り込んでくれたのはよいのですが、
そのせいか OpenLDAP 1.2,x の情報と 2.0.x の情報が混乱しています。
訳者の気づいたところは訳注で示しておきます。

<!-- [orig]
<sect1>Acknowledgments
-->
<sect1>謝辞
<p>
<!-- [orig]
This Howto was result of an internship made by me on the TUDelft University - Netherlands. I would like to
thank the persons that encouraged me to write this document: Rene van Leuken and Wim Tiwon. Thank you very
much. They are also Linux fans, just like me.
-->
この HOWTO 文書は、オランダの TUDelft 大学で私が勉強がてら作成した
ものの成果です。この文書を書くように強く勧めてくれた人々、
Rene van Leuken と Wim Tiwon に感謝したい。本当にありがとう。
彼らも私と同じ Linux ファンです。
<p>
<!-- [orig]
I would like to thank also Thomas Bendler, author of the German Ldap-Howto, for his contributions to my
document and Joshua Go, great volunteer on the LDP project.
-->
それから、私の文書に貢献してくれたドイツ語版 LDAP-HOWTO の翻訳者である
Thomas Bendler と、LDP プロジェクトの偉大なるボランティアである
Joshua Go にも感謝したい。

<!-- [orig]
<sect1>Copyright and Disclaimer
-->
<sect1>著作権と免責
<p>
<!-- [orig]
The LDAP Linux HOWTO is Copyrighted 1999 by Luiz Ernesto Pinheiro Malere. It can be distributed freely. It
cannot be modified. If you have any kind of sugestion, please send me an email (I will update the document if
the sugestion proceeds).
-->
<!--??? [誤字]
 `sugestions' は `suggestions' の間違いであろう
-->
この LDAP Linux HOWTO の著作権は、1999 年以降 Luiz Ernesto Pinheiro
Malere にあります。この文書は自由に配布できます。この文書を変更して
はなりません。何らかの提案がある場合には email で私に連絡してください
(その提案が有効なら、私が文書を変更します)。
<p>
<!-- [orig]
If you want a translation, for example to Portuguese, you can send me an email about it too.
-->
ポルトガル語などに翻訳したい場合も email で私に連絡してください。
<p>
<!-- [orig]
No liability for the contents of this document can be accepted. I have no responsability about the
consequences of following the steps provided in this document.
-->
<!--??? [誤字]
 `responsability' は `responsibility' の間違いであろう
-->
この文書の内容については一切の責任を負いません。
この文書にある手順に従った結果について、私は一切の責任を持ちません。
<p>
<!-- [orig]
If you have questions, please contact, the Linux HOWTO coordinator, at
<p><url url="linux-howto@metalab.unc.edu" name="linux-howto@metalab.unc.edu">
-->
この件について疑問点があるならば、Linux HOWTO 管理者に連絡してください
(linux-howto@metalab.unc.edu)。

<!-- [orig]
<sect>Installing the LDAP Server
-->
<sect>LDAP サーバのインストール
<p>
<!-- [orig]
Five steps are necessary to install the server: Install the pre-required packages (if not already installed),
Download the server, Unpack the software, Configure the Makefiles and Build the server. 
-->
LDAP サーバをインストールするには、事前に必要なパッケージのインストール
(既にインストールされていない場合)、LDAP サーバソフトウェアの
ダウンロード、ソフトウェアの展開、Makefile の設定、サーバの作成の
五つのステップが必要です。

<!-- [orig]
<sect1>Pre-Requirements
-->
<sect1>事前に必要なもの
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この節は基本的に OpenLDAP 2.0.x に関して説明しています。
<p>
<!-- [orig]
To be fully LDAPv3 compliant, OpenLDAP clients and servers require installation of some aditional packages:
-->
LDAPv3 に完全準拠するために、OpenLDAP のクライアントとサーバは次にあげる
ソフトウェアがインストールされていることを必要とします。

<!-- [orig]
<p><it/OpenSSL TLS libraries/
-->
<p><it/OpenSSL TLS ライブラリ/
<p>
<!-- [orig]
Although some operating systems may provide these libraries as part of the base system or as an optional
software component, OpenSSL often requires separate installation.
OpenSSL is available from <url url="http://www.openssl.org" name="http://www.openssl.org">
-->
OS によってはこのライブラリが
基盤システムの一部あるいはオプションのソフトウェアコンポーネント
として提供されているかもしれませんが、OpenSSL はたいてい別に
インストールが必要となります。
OpenSSL は <url url="http://www.openssl.org"
name="http://www.openssl.org"> から入手できます。

<!-- [orig]
<p><it/Kerberos Authentication Services/
-->
<p><it/Kerberos 認証サービス/
<p>
<!-- [orig]
OpenLDAP clients and servers support Kerberos-based authentication services. In particular, OpenLDAP supports
SASL/GSSAPI authentication mechanism using either Heimdal or MIT Kerberos V packages. If you desire to use
Kerberos-based SASL/GSSAPI authentication, you should install either Heimdal or MIT Kerberos V.
Heimdal Kerberos is available from <url url="http://www.pdc.kth.se/heimdal" name="
http://www.pdc.kth.se/heimdal">.
-->
OpenLDAP のクライアントとサーバは、Kerberos ベースの認証サービスを
サポートします。特に OpenLDAP では、Heimdal か
MIT Kerberos V パッケージのいずれかを用いた
SASL/GSSAPI 認証機構をサポートします。
Kerberos ベースの SASL/GSSAPI 認証を使うのであれば、
Heimdal か MIT Kerberos V をインストールしておいてください。
Heimdal Kerberos は <url url="http://www.pdc.kth.se/heimdal"
name="http://www.pdc.kth.se/heimdal"> から入手できます。
<p>
<!-- [orig]
MIT Kerberos is available from <url url="http://web.mit.edu/kerberos/www" name="
http://web.mit.edu/kerberos/www">. Use of strong authentication services, such as those provided by Kerberos,
is highly recommended.
-->
MIT Kerberos は <url url="http://web.mit.edu/kerberos/www"
name="http://web.mit.edu/kerberos/www"> から入手できます。
Kerberos が提供するような強固な認証サービスの利用を強く勧めます。

<!-- [orig]
<p><it/Cyrus's Simple Authentication and Security Layer Libraries/
-->
<p><it/Cyrus's Simple Authentication and Security Layer ライブラリ/
<p>
<!-- [orig]
Although some operating systems may provide these libraries as part of the base system or as an optional
software component, Cyrus SASL often requires separate installation.
Cyrus SASL is available from <url url="http://asg.web.cmu.edu/sasl/sasl-library.html" name="
http://asg.web.cmu.edu/sasl/sasl-library.html">. Cyrus SASL will make use of OpenSSL and Kerberos/GSSAPI
libraries if preinstalled.
-->
OS によってはこのライブラリが基盤システムの一部あるいはオプションの
ソフトウェアコンポーネントとして提供されているかもしれませんが、
Cyrus SASL はたいてい別にインストールが必要となります。
Cyrus SASL は <url url="http://asg.web.cmu.edu/sasl/sasl-library.html"
name="http://asg.web.cmu.edu/sasl/sasl-library.html">
から入手できます。Cyrus SASL は、OpenSSL と Kerberos/GSSAPI のライブラリ
がインストールされていれば、それらを使うようになります。

<!-- [orig]
<p><it/Database Software/
-->
<p><it/データベースソフトウェア/
<p>
<!-- [orig]
OpenLDAP's slapd primary database backend, LDBM, requires a compatible database package for entry storage.
LDBM is compatible with Sleepycat Software's BerkeleyDB (recommended) or with the Free Software Foundation's
GNU Database Manager (GDBM). If neither of these packages are available at configure time, you will not be
able build slapd with primary database backend support.
-->
OpenLDAP の slapd の主要なデータベースバックエンド LDBM は、
エントリストレージに使うデータベースパッケージを必要とします。
LDBM のデータベースには Sleepycat Software の BerkeleyDB (推奨)あるいは
Free Software Foundation の GNU Database Manager (GDBM) を利用できます。
configure スクリプトを実行するときに、これらのパッケージのどちらも
利用できなければ、この主要なデータベースバックエンドをサポートした
slapd を構築できません。
<p>
<!-- [orig]
Your operating system may provide one of these two packages in the
base system or as an optional software component. You may need to
obtain the software and install it.
-->
これら二つのパッケージは、どちらかが基盤システムの一部あるいは
オプションのソフトウェアコンポーネントとして提供されているかも
しれませんし、自分でソフトウェアを入手してインストールする必要が
あるかもしれません。
<p>
<!-- [orig]
BerkeleyDB is available from Sleepycat Software's download page <url url="
http://www.sleepycat.com/download.html" name="http://www.sleepycat.com/download.html">. There are several
versions available. At the time of this writing, the latest release, version 3.1, is recommended.
-->
BerkeleyDB は Sleepycat Software の ダウンロードページ
<url url="http://www.sleepycat.com/download.html"
name="http://www.sleepycat.com/download.html"> から入手できます。
これを書いている時点での最新リリースであるバージョン 3.1 がお勧めです。
<p>
<!-- [orig]
GDBM is available from FSF's download site <url url="ftp://ftp.gnu.org/pub/gnu/gdbm" name="
ftp://ftp.gnu.org/pub/gnu/gdbm">. At the time of this writing, version 1.8 is the latest release.
-->
GDBM は FSF のダウンロードサイト
<url url="ftp://ftp.gnu.org/pub/gnu/gdbm"
name="ftp://ftp.gnu.org/pub/gnu/gdbm"> から入手できます。
これを書いている時点でバージョン 1.8 が最新リリースです。

<!-- [orig]
<p><it/Threads/
-->
<p><it/スレッド/
<p>
<!-- [orig]
OpenLDAP is designed to take advantage of threads. OpenLDAP supports POSIX pthreads, Mach CThreads, and a
number of other varieties. <it/configure/ script will complain if it cannot find a suitable thread subsystem.
If this occurs, please consult the Software - Installation - Platform Hints section of the OpenLDAP FAQ <url
url="http://www.openldap.org/faq" name="http://www.openldap.org/faq">.
-->
OpenLDAP はスレッドの利点を活かせるように設計されています。
OpenLDAP は POSIX pthreads, Mach CThreads などといった
さまざまなスレッド処理系をサポートしています。<it/configure/
スクリプトが適正なスレッドサブシステムを検出できない場合、
configure は不平を言ってきます。これが起きた場合には、OpenLDAP FAQ
<url url="http://www.openldap.org/faq"
name="http://www.openldap.org/faq"> の Software - Installation -
Platform Hints のセクションを調べてみてください。

<p><it/TCP Wrappers/
<p>
<!-- [orig]
<it/slapd/ supports TCP wrappers (IP level access control filters) if preinstalled. Use of TCP wrappers or
other IP-level access filters (such as those provided by an IP-level firewall) is recommended for servers
containing non-public information.
-->
TCP wrappers (IP レベルのアクセス制御フィルタ)が
事前にインストールされていれば、<it/slapd/ はそれをサポートします。
非公開の情報を持つサーバについては TCP wrappers やその他の IP レベルの
アクセスフィルタ(IP レベルのファイヤウォールに提供されるものなど)の
利用を勧めます。

<!-- [orig]
<sect1>Downloading the package
-->
<sect1>パッケージのダウンロード
<p>
<!-- [orig]
There are two free distributed LDAP servers: University of Michigan LDAP server and OpenLDAP server. There's
also the Netscape Directory Server, which is free only under some conditions (educational institutions get it
free, for example).The OpenLDAP server is based on the latest version of the University of Michigan Server and
there are mailing lists and additional documentation available for it. This document assumes that you are
using the OpenLDAP server.
-->
フリーに配布されている LDAP サーバには、ミシガン大学の LDAP サーバと
OpenLDAP サーバの二つがあります。また、特定の条件の下でのみフリーで
あるものに Netscape ディレクトリサーバがあります(たとえば、教育機関は
フリーで利用できます)。OpenLDAP サーバは、ミシガン大学のサーバの
最新バージョンを基にしていて、メーリングリストと OpenLDAP で役立つ
追加の文書があります。この文書では、OpenLDAP を利用することにします。
<p>
<!-- [orig]
It's latest tar gzipped version is avaiable on the following address: 
-->
OpenLDAP の最新の tar+gzip バージョンは、次のところから入手できます。
<p>
<!-- [orig]
<url url="http://www.openldap.org" name="http://www.openldap.org">
-->
<tscreen>
<htmlurl url="http://www.openldap.org" name="http://www.openldap.org">
</tscreen>
<p>
<!-- [orig]
If you want to get the latest version of University of Michigan Server, go to this address: 
-->
ミシガン大学のサーバの最新バージョンが欲しいなら、次のところから
入手できます。
<p>
<!-- [orig]
<url url="ftp://terminator.rs.itd.umich.edu/ldap" name="ftp://terminator.rs.itd.umich.edu/ldap">
-->
<tscreen>
<htmlurl url="ftp://terminator.rs.itd.umich.edu/ldap" name="ftp://terminator.rs.itd.umich.edu/ldap">
</tscreen>
<p>
<!-- [orig]
To write this document, I used two versions of the OpenLDAP package :
the latest stable version 1.2.11 and the newly released 2.0.4. My
operating system is a Slackware Linux with kernel 2.2.13. 
-->
この文書を書く際には二つのバージョンの OpenLDAP パッケージを使いました。
一つは最新の安定版 1.2.11 で、もう一つは新規にリリースされた 2.0.4 です。
私が使っている OS は カーネル 2.2.13 の Slackware Linux です。
<p>
<!-- [orig]
On the OpenLDAP site you can always find the latest development and stable versions of the OpenLDAP server. By
the time this document was updated, the latest stable version was openldap-stable-20000704.tgz. The latest
development version was openldap-2.0.4.tgz. 
-->
OpenLDAP のサイトには、OpenLDAP サーバの最新の開発版と安定版が
置かれています。この文書を更新した時点で、最新の安定版は
openldap-stable-20000704.tgz です。最新の開発版は openldap-2.0.4.tgz です。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
ここでいう開発版は実際にはリリース版です。
翻訳時点での最新のリリース版は openldap-2.0.7.tgz で、開発版はありません。
安定版は OpenLDAP 1.2.11 ベースのものです。

<!-- [orig]
<sect1>Unpacking the server
-->
<sect1>サーバの展開
<p>
<!-- [orig]
Now that you have the tar gzipped package on your local machine, you can unpack it. 
-->
さて、ローカルマシンに gzip で固められたパッケージをもってきて、
それを展開することにしましょう。
<p>
<!-- [orig]
First copy the package to a desirable directory, for example /usr/local. 
-->
まず、このパッケージを /usr/local などの望みのディレクトリにコピーします。
<p>
<!-- [orig]
Then use the following command: 
-->
そして次のコマンドを実行します。
<p>
<tscreen><verb>
tar xvzf openldap-stable.tgz 
</verb></tscreen>
<p>
<!-- [orig]
You can use this command too, as well: 
-->
次のコマンドでも同じことができます。
<p>
<tscreen><verb>
gunzip openldap-stable.tgz &verbar; tar xvf - 
</verb></tscreen>

<!-- [orig]
<sect1>Configuring the software
-->
<sect1>ソフトウェアの設定
<p>
<!-- [orig]
There are several options that you should like to customize so you can build the best software to your site. 
-->
いくつかのオプションが用意されていて、これらをカスタマイズすることにより、
インストールするサイトに最適なソフトウェアが作成できます。
<p>
<!-- [orig]
To configure the software you just need 2 steps: 
-->
このソフトウェアの設定には、二つのステップしか必要ありません。
<itemize>
<!-- [orig]
<item>Edit the file <it/ldapconfig.h.edit/, located on the subdirectory <it/include/ beneath the directory
where you unpacked the software. 
-->
<item>ソフトウェアを展開したディレクトリ配下のサブディレクトリ
<it/include/ にあるファイル <it/ldapconfig.h.edit/ を編集する。
<!-- [orig]
<item>Run the configure script (if you are a tough guy, you can also edit the Make-common file instead of
running the configure script :^) 
-->
<!--??? [執筆者に要報告]
  Make-common ファイルって何だ？
  っと思ったら、ミシガン大の LDAP サーバのソースに含まれている
  ものらしい(OpenLDAP には無い)。
-->
<item>configure スクリプトを実行する(あなたがタフガイならば、configure
スクリプトを実行する代わりに Make-common ファイルを編集することも
できます :^)。
</itemize>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
現在の OpenLDAP には Make-common ファイルは存在しません。
<p>
<!-- [orig]
In the file include/ldapconfig.h.edit you can set options like the location of the slapd and slurpd daemons.
The file itself is well commented and it's default settings also reflect the most common administrator choices
so, if you are in a hurry you can skip this step: 
-->
ファイル include/ldapconfig.h.edit では、slapd と slurpd デーモンの
所在などのオプションを設定できます。このファイル自体よく注釈が
つけられていて、デフォルトの設定は最も一般的な管理者の選択を
反映しているので、急いでいるならこのステップを省略してください。
<p>
<tscreen><verb>
vi include/ldapconfig.h.edit 
</verb></tscreen>
<p>
<!-- [orig]
The OpenLDAP server sources are distributed with a configuration script for setting options like instalation
directories, compiler and linker flags. Type the following command on
the directory where you unpacked the software: 
-->
OpenLDAP サーバの配布ソースには、インストールするディレクトリや
コンパイラとリンカのフラグなどのオプションを指定するための設定
スクリプトが付属しています。ソフトウェアを展開したディレクトリで
次のようにタイプしてください。
<tscreen><verb>
./configure --help 
</verb></tscreen>
<!-- [orig]
This will print all options that you can customize with the configure script before you build the software.
Some usefull options are - -prefix=pref , - -exec-prefix=eprefix and
- -bindir=dir, for setting instalation directories. Normally if you run configure without options, it will
auto-detect the appropriate settings and prepar to build things on the default
common location. So just type: 
-->
<!--??? [誤字]
 `prepar' は `prepare' の間違いであろう
-->
これは、ソフトウェアを作成する前に configure スクリプトでカスタマイズ
できるすべてのオプションを印字します。インストールするディレクトリを
設定するには、<tt/--prefix=pref/, <tt/--exec-prefix=eprefix/,
<tt/--bindir=dir/ のオプションが有用です。普通にオプションなしで
configure を実行すれば、適切な設定を自動検出し、デフォルトの一般的な
場所にインストールするように準備します。
ということで、そのようにしてみましょう。
<tscreen><verb>
./configure 
</verb></tscreen>
<!-- [orig]
And watch the output to see if all went well 
-->
出力を調べて、すべてうまくいったかを確認してください。

<!-- [orig]
<sect1>Building the server
-->
<sect1>サーバの作成
<p>
<!-- [orig]
After configuring the software you can start building it. First build the dependencies, using the command: 
-->
ソフトウェアを設定し終えたら、ソフトウェアの作成をはじめることが
できます。まず、次のコマンドを使って依存関係を作成します。
<tscreen><verb>
make depend 
</verb></tscreen>
<!-- [orig]
After build the server, using the command: 
-->
その後、次のコマンドを使ってサーバを作成します。
<tscreen><verb>
make 
</verb></tscreen>
<!-- [orig]
If all goes well, the server will build as configured.  If not, return to the previous step to review the
configuration settings. You should check the platform specific hints, they are located in the path
doc/install/hints under the directory you unpacked the software. 
-->
すべてうまくいったなら、設定したとおりに作成されているでしょう。
そうでなければ、前のステップに戻って設定した内容を調べてください。
ソフトウェアを展開してできたディレクトリの下のパス doc/install/hints
にあるプラットフォーム固有のヒントを確認してみてください。
<p>
<!-- [orig]
Now install the binaries and man pages.  You may need to be superuser to do this (depending on where you are
installing things): 
-->
さあ、バイナリと man ページをインストールしましょう。
これを行うには(インストールする場所にもよりますが)スーパユーザになる
必要があるでしょう。
<tscreen><verb>
su 
make install 
</verb></tscreen>
<!-- [orig]
That's all, now you have the binary of the server and the binaries of several other utilities. Go to the <ref
id="3" name="next"> section to see how to configure the operation of your LDAP server. 
-->
これで完了です。あなたはサーバのバイナリとその他いくつかのユーティリティの
バイナリを手に入れました。<ref id="3" name="LDAP サーバの設定">に進んで、
LDAP サーバの設定方法を見てください。
<p>
<!-- [orig]
The binary of the OpenLdap 2.0 server is called <it/slapd/. OpenLdap 2.0 was officially released on August,
30th and it comprises Ldap protocol v3, as defined on the RFC 2251.
-->
OpenLDAP 2.0 サーバのバイナリは <it/slapd/ という名前です。
OpenLDAP 2.0 は 8 月 30 日に正式にリリースされました。
これは RFC 2251 に定義された LDAP プロトコル v3 を取り込んでいます。
<p>
<!-- [orig]
The main features of OpenLDAP 2.0 are:
-->
OpenLDAP 2.0 の主な特徴を次にあげます。
<itemize>
<!-- [orig]
<item>LDAPv2 and LDAPv3 Support (RFC2251-2256,2829-2831) 
-->
<item>LDAPv2 と LDAPv3 (RFC2251-2256,2829-2831) のサポート
<!-- [orig]
<item>Maintenance of interoperability with existing clients
-->
<item>既存のクライアントとの互換性の維持
<!-- [orig]
<item>IPv4 and IPv6 support
-->
<item>IPv4 と IPv6 のサポート
<!-- [orig]
<item>Strong Authentication (SASL) (RFC2829) 
-->
<item>強力な認証機構(SASL) (RFC2829) 
<item>Start TLS (RFC2830) 
<!-- [orig]
<item>Language Tags (RFC2596) 
-->
<item>言語タグ(RFC2596) 
<item>DNSベースのサービスロケーション(RFC2247+"locate" インターネットドラフト) 
<item>スタンドアローンサーバの強化
<item>名前つき参照/ManageDsaIT ("nameref" インターネットドラフト) 
<item>アクセス制御サブシステムの強化
<item>スレッドプーリング
<item>プリエンプティブスレッドのサポート
<item>複数リスナのサポート
<item>LDIFv1 (RFC2849) 
<!-- [orig]
<item>Improved platform/subsystem detection 
-->
<item>プラットフォーム/サブシステムの検出の改善
</itemize>
<p>
<!-- [orig]
Note: There will be a document on the Linux Documentation Project (LDP) called LDAP Implementation HOWTO. This
document will be a great resource for those who want to explore the new features of OpenLDAP 2.0. The date for
it's release is around December 2000.
-->
注記：Linux Documentation Project (LDP)では LDAP Implementation HOWTO
という文書を用意する予定です。この文書は OpenLDAP 2.0
の新機能を調べたい人にとってすばらしい情報源となるでしょう。
この文書は 2000 年の 12 月中にリリースされる予定です。
<p>
<!-- [orig]
On the latest versions of the OpenLDAP package, it's also possible to test the recently built binaries. The
package comes with a test script, which you can run using the command:
-->
OpenLDAP パッケージの最新版では、今作成したバイナリをテストする
こともできます。パッケージにはテストスクリプトが付属していて、
次のようにして実行できます。
<tscreen><verb>
make test
</verb></tscreen>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
このテスト方法は OpenLDAP 2.0.x の場合です。
OpenLDAP 1.2.x では tests サブディレクトリに移ってから make します。
<p>
<!-- [orig]
If anything goes wrong with the script you can just abort it hitting Ctrl-C. In my case, the script stopped
working before it's total completion. Anyway I still could see some successfull messages about my OpenLDAP
configuration.
-->
スクリプトで何か悪いことが起きたなら Ctrl-C を入力して
スクリプトの実行を中断できます。私の場合、スクリプトの実行が
完全に終了する前にスクリプトの実行が停止しました。
ともかくも、私の OpenLDAP の設定でもいくつかの成功(successfull)の
メッセージを確認できています
<p>
<bf>&lsqb;訳注&rsqb;</bf>
訳者の環境(Vine Linux 2.1 + OpenLDAP 2.0.7)で試したところでは、
問題なくすべてのテストをパスしました。

<!-- [orig]
<sect>Configuring the LDAP Server<label id="3">
-->
<sect>LDAP サーバの設定<label id="3">
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この章の説明は基本的に OpenLDAP 2.0.x に基づいています。
<p>
<!-- [orig]
Once the software has been installed and built, you are ready to configure it for use at your site. All slapd
runtime configuration is accomplished through the <it/slapd.conf/ file,
installed in the prefix directory you specified in the configuration script or by default in
/usr/local/etc/openldap. 
-->
<!--???
  prefix directory の意味があいまいだが...
-->
ソフトウェアのインストールが完了したら、あなたのサイトで利用するための
設定をしましょう。slapd ラインタイム設定のすべては、slapd.conf ファイル
をとおして行います。このファイルは configure スクリプトで指定した prefix
ディレクトリ(デフォルトは /usr/local/etc/openldap)にインストールされて
います。
<p>
<!-- [orig]
This section details the commonly used configuration directives on <it/slapd.conf/. For a complete list, see
slapd.conf(5) manual page. The configuration file directives are separated into global, backend-specific and
data-specific categories. Here you will find descriptions of directives, together with their default values
(if any) and with examples of their use.
-->
この節では <it/slapd.conf/ でよく使われる設定ディレクティブについて
詳しく説明します。全ディレクティブのリストについては slapd.conf(5)
マニュアルページを参照してください。設定ファイルのディレクティブは、
グローバル、バックエンド固有、データ固有のカテゴリに分けています。
各ディレクティブについては、その説明とともに(もしあれば)そのデフォルト値
と設定例を示します。

<!-- [orig]
<sect1>Configuration File Format
-->
<sect1>設定ファイルのフォーマット
<p>
<!-- [orig]
The slapd.conf file consists of three types of configuration information: global, backend specific, and
database specific. Global information is specified first, followed by information associated with a particular
backend type, which is then followed by information associated with a particular database instance. 
-->
ファイル slapd.conf は、グローバル、バックエンド固有、
データベース固有の３タイプの設定情報から成ります。
まず最初に指定するのはグローバル情報であり、その後に特定の
バックエンド種別に関連した情報が続き、さらにその後に特定の
データベース実体に関連した情報が続きます。
<p>
<!-- [orig]
Global directives can be overridden in a backend and/or database directives, backend directives can be
overridden by database directives.
-->
グローバルディレクティブは後のバックエンドやデータベース設定のディレクティブ
で上書きでき、バックエンド設定ディレクティブはデータベース設定
ディレクティブで上書きできます。
<p>
<!-- [orig]
Blank lines and comment lines beginning with a '#' character are ignored. If a line begins with white space,
it is considered a continuation of the previous line. The general format of slapd.conf is as follows:
-->
ブランク行と  '#' 文字で始まるコメント行は無視されます。
行が空白で始まっている場合、前の行からの継続であるとみなされます。
slapd.conf の一般的なフォーマットは次のようになります。

<!-- [orig]
<tscreen><verb>
# global configuration directives
&lt;global config directives&gt;

# backend definition
backend &lt;typeA&gt;
&lt;backend-specific directives&gt;

# first database definition & config directives
database &lt;typeA&gt;
&lt;database-specific directives&gt;

# second database definition & config directives
database &lt;typeB&gt;
&lt;database-specific directives&gt;

# second database definition & config directives
database &lt;typeA&gt;
&lt;database-specific directives&gt;

# subsequent backend & database definitions & config directives
...
</verb></tscreen>
-->
<tscreen><verb>
# グローバル設定ディレクティブ
<グローバル設定ディレクティブ>

# バックエンド定義
backend <typeA>
<バックエンド固有ディレクティブ>

# １番目のデータベース定義 & 設定ディレクティブ
database <typeA>
<データベース固有ディレクティブ>

# ２番目のデータベース定義 & 設定ディレクティブ
database <typeB>
<データベース固有ディレクティブ>

# 続きのデータベース定義 & 設定ディレクティブ
...
</verb></tscreen>

<p>
<!-- [orig]
A configuration directive may take arguments. If so, they are separated by white space. If an argument
contains white space, the argument should be enclosed in double quotes "like this". If an argument contains a
double quote or a backslash character `\', the character should be preceded by a backslash character `\'.
-->
設定ディレクティブの中には引数をとるものがあります。
引数のある場合には空白で区切って並べます。引数に空白を含めたい
場合には、引数を二重引用符で囲みます。引数に二重引用符や
バックスラッシュ文字 `\' を含めたい場合には、
その文字の前にバックスラッシュ文字 `\' を置きます。
<p>
<!-- [orig]
The distribution contains an example configuration file that will be installed in the /usr/local/etc/openldap
directory. A number of files containing schema definitions (attribute types and object classes) are also
provided in the /usr/local/etc/openldap/schema directory.
-->
OpenLDAP の配布物の中には設定ファイルのサンプルが付いてきます。
これは普通 /usr/local/etc/openldap ディレクトリに
インストールされます。スキーマ定義(属性型とオブジェクトクラス)を
含んだファイルも /usr/local/etc/openldap/schema
ディレクトリに提供されています。

<!-- [orig]
<sect1>Global Directives<label id="3.2">
-->
<sect1>グローバルディレクティブ<label id="3.2">
<p>
<!-- [orig]
Directives described in this section apply to all backends and databases unless specifically overridden in a
backend or database definition. Arguments that should be replaced by actual text are shown in brackets
&lt;&gt;.
-->
この節で説明するディレクティブは、バックエンドまたはデータベースの
定義で特に上書きしない限り、すべてのバックエンドとデータベースに
適用されます。実際のテキストで置き換えるディレクティブの引数は
ブラケット &lt;&gt; で示します。
<p>
<descrip><tag/
access to &lt;what&gt; [ by &lt;who&gt; &lt;accesslevel&gt; &lt;control&gt; ]+
/
<!-- [orig]
<tscreen><verb>
This directive grants access (specified by &lt;accesslevel&gt;) to a set of entries and/or attributes 
(specified by &lt;what&gt;) by one or more requesters (specified by &lt;who&gt;). See the Access Control
examples for more details.
</verb></tscreen>
<p>
-->
このディレクティブは、エントリや属性の１セット(&lt;what&gt; に指定)に
対するアクセス権(&lt;accesslevel&gt; に指定)を１人以上の要求者(&lt;who&gt
に指定)に与えます。より詳しくは「アクセス制御」の例を参照してください。
<tag/
attributetype &lt;RFC2252 Attribute Type Description&gt;
/
<!-- [orig]
<tscreen><verb>
This directive defines an attribute type.
</verb></tscreen>
<p>
-->
このディレクティブは属性型を定義します。
<tag/
defaultaccess { none | compare | search | read | write }
/
<!-- [orig]
<tscreen><verb>
This directive specifies the default access to grant requesters when no access directives have been 
specified. Any given access level implies all lesser access levels (e.g., read access implies search 
and compare but not write).

Default:
defaultaccess read
</verb></tscreen>
<p>
-->
このディレクティブは、access ディレクティブが指定されて
いないときに、要求者に与えるデフォルトのアクセス権を指定します。
どのアクセス権レベルもより下位のアクセス権レベルを暗に与えます
(たとえば read アクセス権は、search, compare アクセス権を暗に
与えますが write アクセス権は与えません)。
<p>
デフォルトの設定は次のとおりです。
<verb>
    defaultaccess read
</verb>
<tag/
idletimeout &lt;integer&gt;
/
<!-- [orig]
<tscreen><verb>
Specify the number of seconds to wait before forcibly closing an idle client connection. An idletimeout of 0,
the default, disables this feature.
</verb></tscreen>
<p>
-->
アイドル状態のクライアント接続を強制的に切断するまでの
秒数を指定します。idletimeout の値が 0 であると(デフォルト)
この機能は無効になります。
<tag/
include &lt;filename&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies that slapd should read additional configuration information from the given 
file before continuing with the next line of the current file. The included file should follow the
normal slapd config file format. The file is commonly used to include files containing schema specifications.
</verb></tscreen>
-->
このディレクティブは、slapd が現在のファイルの次の行に進む前に、与えた
ファイルから追加の設定情報を読み込むことを指定します。取り込む
ファイルは、通常の slapd 設定ファイルのフォーマットに従います。
ファイルの取込みは一般にスキーマ指定の記述されたファイルを取り込む
のに使われます。
<p>
<!-- [orig]
Note: You should be careful when using this directive - there is no small limit on the number of nested
include directives, and no loop detection is done. 
<p>
-->
注記：このディレクティブの取扱いには注意してください - 入れ子になった 
include ディレクティブに制限はなく、include がループになった場合でも
検出されません。
<tag/
loglevel &lt;integer&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the level at which debugging statements and operation statistics should be
syslogged (currently logged to the syslogd(8) LOCAL4 facility). You must have configured
OpenLDAP - -enable-debug (the default) for this to work (except for the two statistics levels,
which are always enabled). Log levels are additive. To display what numbers correspond to what kind
of debugging, invoke slapd with -? or consult the table below. The possible values for &lt;integer&gt; are:
-->
<!--???
slapd のデバッグレベル表示はなくなった？
-->
このディレクティブは、デバッグ情報と操作の統計値を syslog
に出力するレベルを指定します(現在のところ、syslogd(8)
の LOG_LOCAL4 ファシリティに記録されます)。
このオプションが有効になるようにするには OpenLDAP を --enable-debug
付き(デフォルト)で configure しなければなりません(統計に関する二つの
レベルは例外で、これらは常に利用可能です)。どのデバックに何の数が
対応しているのかを調べるには -d ? を指定して slapd を起動するか、
以下の表を参考にしてください。&lt;integer&gt; に指定可能な値には
次のものがあります。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
OpenLDAP 2.0.x では slapd の -d ? 指定が無くなりました。
<!-- [orig]
-1 enable all debugging
0 no debugging 
1 trace function calls 
2 debug packet handling 
4 heavy trace debugging 
8 connection management 
16 print out packets sent and received 
32 search filter processing 
64 configuration file processing 
128 access control list processing 
256 stats log connections/operations/results 
512 stats log entries sent 
1024 print communication with shell backends 
2048 print entry parsing debugging 
-->
<verb>
    -1      すべてのデバッグレベルを有効にする
    0       デバッグしない
    1       関数呼出しのトレース
    2       パケット処理のデバッグ
    4       詳細なデバッグトレース
    8       接続管理
    16      パケット送受信の印字
    32      検索フィルタ処理
    64      設定ファイル処理
    128     アクセス制御リスト処理
    256     接続/操作/結果の統計ログ
    512     エントリ送信の統計ログ
    1024    shell バックエンドとの通信の印字
    2048    エントリ解析のデバッグ印字
</verb>
<!-- [orig]
Example: 
loglevel 255 or loglevel -1
This will cause lots and lots of debugging information to be syslogged. 
Default: 
loglevel 256 
</verb></tscreen>
<p>
-->
<p>
たとえば次のように指定します。
<verb>
    loglevel 255 あるいは loglevel -1
</verb>
このように設定すると、大量のデバッグ情報が記録されます。
<p>
デフォルトの設定は次のとおりです。
<verb>
    loglevel 256
</verb>
<tag/
objectclass &lt;RFC2252 Object Class Description&gt;
/
<!-- [orig]
<tscreen><verb>
This directive defines an object class.
</verb></tscreen>
-->
このディレクティブはオブジェクトクラスを定義します。
<!-- [orig]
<p>referral &lt;URI&gt;
-->
<tag/referral &lt;URI&gt;/
<!-- [orig]
<tscreen><verb>
This directive specifies the referral to pass back when slapd cannot find a local database to handle a
request.
-->
このディレクティブは、要求を処理するためのローカルデータベースを見つけられ
なかった場合に、クライアントに戻す紹介先を指定します。
<!-- [orig]
Example:
referral ldap://root.openldap.org
-->
<p>
たとえば次のように指定します。
<verb>
    referral ldap://root.openldap.org
</verb>
<!-- [orig]
This will refer non-local queries to the global root LDAP server at the OpenLDAP Project. Smart LDAP 
clients can re-ask their query at that server, but note that most of these clients are only going 
to know how to handle simple LDAP URLs that contain a host part and optionally a distinguished name part.
</verb></tscreen>
-->
これは、OpenLDAP プロジェクトのグローバルルート LDAP サーバに
非ローカルな問合せを紹介することを指定します。賢い LDAP クライアント
なら戻されるサーバに再要求をするでしょうが、そのようなクライアントの
ほとんどは、ホスト名の部分とオプションの識別名の部分とを持った
単純な LDAP URL の処理方法を知っているだけです。
<!-- [orig]
<p>sizelimit &lt;integer&gt;
-->
<tag/sizelimit &lt;integer&gt;/
<!-- [orig]
<tscreen><verb>
This directive specifies the maximum number of entries to return from a search operation.
-->
このディレクティブは、検索操作から返すエントリの最大数を指定します。
<!-- [orig]
Default:
sizelimit 500
</verb></tscreen>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    sizelimit 500
</verb>
<!-- [orig]
<p>timelimit &lt;integer&gt;
-->
<tag/timelimit &lt;integer&gt;/
<!-- [orig]
<tscreen><verb>
This directive specifies the maximum number of seconds (in real time) slapd will spend answering
a search request. If a request is not finished in this time, a result indicating an exceeded 
timelimit will be returned.
-->
このディレクティブは、slapd が検索要求の応答に使う最大秒数(実時間)を
指定します。この時間内に要求が達せられなければ、時間制限を超過した
ことを示す結果を返します。
<!-- [orig]
Default:
timelimit 3600
</verb></tscreen>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    timelimit 3600
</verb>
</descrip>

<!-- [orig]
<sect1>General Backend Options
-->
<sect1>一般バックエンドディレクティブ
<p>
<!-- [orig]
Directives in this section apply only to the backend in which they are defined. They are supported 
by every type of backend. Backend directives apply to all databases instances of the same type and,
depending on the directive, may be overridden by database directives. 
-->
この節のディレクティブは、そのディレクティブが定義されている
バックエンドにのみ適用されます。これらのディレクティブは全種別の
バックエンドでサポートされます。バックエンドディレクティブは、
同種別のすべてのデータベース実体に適用しますが、ディレクティブ
によってはデータベースディレクティブで上書きされます。
<p>
<descrip>
<tag/
backend &lt;type&gt;
/
<!-- [orig]
<tscreen><verb>
This directive marks the beginning of a backend definition. &lt;type&gt; should be one of 
ldbm, shell, passwd, or other supported backend type.
</verb></tscreen>
-->
このディレクティブは、バックエンド定義の始まりを示します。
&lt;type&gt; には、ldbm, shell, passwd などサポートされている
バックエンド種別のどれかを指定します。
</descrip>

<!-- [orig]
<sect1>General Database Directives
-->
<sect1>一般データベースディレクティブ
<p>
<!-- [orig]
Directives in this section apply only to the database in which they are defined. They are supported by 
every type of database.
-->
この節のディレクティブは、そのディレクティブが定義されている
データベースにのみ適用されます。これらのディレクティブは全種別の
データベースでサポートされます。

<p>
<descrip>
<tag/
database &lt;type&gt;
/
<!-- [orig]
<tscreen><verb>
This directive marks the beginning of a new database instance definition. &lt;type&gt; should be one of
ldbm, shell, passwd, or other supported database type.
-->
このディレクティブは新しいデータベース実体定義の始まりを
示します。&lt;type&gt; には、ldbm, shell, passwd など、
サポートされているデータベースの種別のいずれかを指定します。

<!-- [orig]
Example:
database ldbm
-->
たとえば次のように指定します。
<verb>
    database ldbm
</verb>

<!-- [orig]
This marks the beginning of a new LDBM backend database instance definition.
</verb></tscreen>
<p>
-->
この設定は、新しい LDBM バックエンドデータベース実体定義の始まりを
示します。

<tag/
readonly { on | off }
/
<!-- [orig]
<tscreen><verb>
This directive puts the database into "read-only" mode. Any attempts to modify the database will 
return an "unwilling to perform" error.
-->
このディレクティブは、データベースを「読取り専用」モードにします。
このモードでデータベースを更新しようとすると "unwilling to perform"
エラーが返ります。
<!-- [orig]
Default:
readonly off
</verb></tscreen>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    readonly off
</verb>
<!--
<p>replica
<p>
-->
<tag/replica/
<-- [orig]
replica host=&lt;hostname&gt;[:&lt;port&gt;]
        [bindmethod={ simple | kerberos | sasl }]
        ["binddn=&lt;DN&gt;"]
        [mech=&lt;mech&gt;]
        [authcid=&lt;identity&gt;]
        [authzid=&lt;identity&gt;]
        [credentials=&lt;password&gt;]
        [srvtab=&lt;filename&gt;]
-->
<verb>
  replica host=<hostname>[:<port>]
          [bindmethod={ simple | kerberos | sasl }]
          ["binddn=<DN>"]
          [mech=<mech>]
          [authcid=<identity>]
          [authzid=<identity>]
          [credentials=<password>]
          [srvtab=<filename>]
</verb>
<!-- [orig]
<tscreen><verb>
This directive specifies a replication site for this database. The host= parameter specifies a host
and optionally a port where the slave slapd instance can be found. Either a domain name or IP address
may be used for &lt;hostname&gt;. If &lt;port&gt; is not given, the
standard LDAP port number (389) is used.
-->
このディレクティブは、このデータベースの複製サイトを指定します。パラメータ
host= は、スレーブ slapd の実体があるホストとポート(オプション)を
指定します。&lt;hostname&gt; はドメイン名あるいは IP アドレスを使って指定しま
す。&lt;port&gt; が与えられていなければ、標準の LDAP ポート番号(389)が
使われます。
<!-- [orig]
The binddn= parameter gives the DN to bind as for updates to the slave slapd. It should be a DN
which has read/write access to the slave slapd's database, typically given as a rootdn in the slave's
config file. It must also match the updatedn directive in the slave slapd's config file.
Since DNs are likely to contain embedded spaces, the entire "binddn=&lt;DN&gt;" string should be enclosed in
double quotes.
-->
<p>
パラメータ binddn= は、スレーブ slapd の更新でバインド
するための DN を与えます。これは、スレーブ slapd のデータベースに
対してアクセス権 read/write を持った DN にしなければなりません。
通常はスレーブ slapd の設定ファイルにある rootdn に指定して
あるものを与えます。またこの DN は、スレーブ slapd 設定ファイルの
updatedn ディレクティブに指定したものと一致していなければなりません。
DN にはスペースが入っていることが多いので、"binddn=&lt;DN&gt;" 文字列は
二重引用符で囲っておくとよいでしょう。
<!-- [orig]
The bindmethod is simple or kerberos or sasl, depending on whether simple password-based authentication
or Kerberos authentication or SASL authentication is to be used when connecting to the slave slapd.
-->
<p>
bindmethod は、スレーブ slapd への接続に使う認証が
パスワードベースのものか、Kerberos か、SASL かによって
simple か kerberos か sasl になります。
<!-- [orig]
Simple authentication should not be used unless adequate integrity and privacy protections are in
place (e.g. TLS or IPSEC). Simple authentication requires specification of binddn and credentials parameters.
-->
<p>
簡易認証は十分な一貫性と機密性の保護(TLS や IPSEC など)がなければ
使うべきではありません。簡易認証は binddn と credentials
パラメータの指定を必要とします。
<!-- [orig]
Kerberos authentication is deprecated in favor of SASL authentication mechanisms, in particular the
KERBEROS_V4 and GSSAPI mechanisms. Kerberos authentication requires binddn and srvtab parameters.
-->
<p>
Kerberos 認証は、SASL 認証のせいで時代遅れになっています。
(特に KERBEROS_V4 と GSSAPI)。Kerberos 認証は binddn と srvtab
パラメータの指定を必要とします。
<!-- [orig]
SASL authentication is generally recommended. SASL authentication requires specification of a mechanism 
using the mech parameter. Depending on the mechanism, an authentication identity and/or credentials can
be specified using authcid and credentials respectively. The authzid parameter may be used to specify 
an authorization identity.
</verb></tscreen>

<p>
-->
<p>
一般には SASL 認証を使うことを勧めます。SASL 認証は mech
パラメータを使った機構の指定が必要です。指定する機構に依存して、
認証アイデンティティや証明書を authcid と credentials
を使って指定できます。認証アイデンティティの指定には authzid
パラメータを使うかもしれません。
<tag/
replogfile &lt;filename&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the name of the replication log file to which slapd will log changes. 
The replication log is typically written by slapd and read by slurpd. Normally, this directive is only
used if slurpd is being used to replicate the database. However, you can also use it to generate a 
transaction log, if slurpd is not running. In this case, you will need to periodically truncate the file,
since it will grow indefinitely otherwise.
</verb></tscreen>

<p>
-->
このディレクティブは、slapd が 変更を記録する複製ログファイルの
名前を指定します。複製ログは通常 slapd が書き出し、slurpd が
読み取ります。通常このディレクティブは、データベースを複製する
ために slurpd が使われている場合にのみ利用します。しかし slurpd
を実行していなくても、トランザクションログの生成に使えます。この場合、
複製ログファイルは無限に増え続けるので定期的に切り詰める必要があります。
<tag/
rootdn &lt;dn&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the DN that is not subject to access control or administrative limit restrictions
for operations on this database. The DN need not refer to an entry in the directory. The DN may refer to 
a SASL identity.
-->
このディレクティブは、このデータベースに対するアクセス権制御あるいは
管理限度の制限に従わない DN を指定します。この DN はディレクトリ中の
エントリである必要はありません。この DN には SASL アイデンティティ
を使えます。
<!-- [orig]
Entry-based Example:
rootdn "cn=Manager, dc=example, dc=com"

SASL-based Example:
rootdn "uid=root@EXAMPLE.COM"
</verb></tscreen>
<p>
-->
<p>
エントリベースの例：
<verb>
    rootdn "cn=Manager,dc=example,dc=com"
</verb>
<p>
SASL ベースの例：
<verb>
    rootdn "uid=root@EXAMPLE.COM"
</verb>
<tag/
rootpw &lt;password&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies a password for the DN given above that will always work, regardless of whether
an entry with the given DN exists or has a password. This directive is deprecated in favor of SASL based
authentication.
-->
このディレクティブは、上のオプションで与えた DN のエントリが
存在するか、そのエントリがパスワードを持っているかにかかわらず、
常に適用するパスワードを指定します。
このディレクティブは SASL 認証のせいで時代遅れになっています。
<!-- [orig]
Example:
rootpw secret
</verb></tscreen>
<p>
-->
<p>
たとえば次のように指定します。
<verb>
    rootpw secret
</verb>
<tag/
suffix &lt;dn suffix&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the DN suffix of queries that will be passed to this backend database. 
Multiple suffix lines can be given, and at least one is required for each database definition.
-->
このディレクティブは、このバックエンドデータベースに渡す問合せの DN
接尾辞を指定します。複数の suffix 行を与えてもよいですが、
各データベース定義に少なくとも一つは必要です。
<!-- [orig]
Example:
suffix "dc=example, dc=com"
-->
<p>
たとえば次のように指定します。
<verb>
    suffix "dc=example,dc=com"
</verb>
<!-- [orig]
Queries with a DN ending in "dc=example, dc=com" will be passed to this backend.
-->
<p>
この指定では、DN の末尾に "dc=example, dc=com" の付いた
問合せがこのバックエンドに渡されます。
<!-- [orig]
Note: When the backend to pass a query to is selected, slapd looks at the suffix line(s) in each database
definition in the order they appear in the file. Thus, if one database suffix is a prefix of another, 
it must appear after it in the config file. 
</verb></tscreen>

<p>
-->
<p>
注記：問合せを渡すバックエンドが選択されるとき、slapd は各データベースの 
suffix 行を設定ファイルに現れる順番に見ていきます。したがって、あるデー
タベースの接尾辞が別のデータベースの接頭辞になっている場合には、設定ファ
イルのより後のほうに現れるようにしなければなりません。
<tag/
updatedn &lt;dn&gt;
/
<!-- [orig]
<tscreen><verb>
This directive is only applicable in a slave slapd. It specifies the DN allowed to make changes to the 
replica. This may be the DN slurpd(8) binds as when making changes to the replica or the DN associated
with a SASL identity.
-->
このディレクティブはスレーブの slapd にのみ適用できます。
このディレクティブは複製の変更を許す DN を指定します。
これには、複製の変更をするときに slurpd(8) がバインドする DN、
あるいは SASL アイデンティティと関連した DN を指定します。
<!-- [orig]
Entry-based Example:
updatedn "cn=Update Daemon, dc=example, dc=com"

SASL-based Example:
updatedn "uid=slurpd@EXAMPLE.COM"

</verb></tscreen>

<p>
-->
<p>
エントリベースの例：
<verb>
    updatedn "cn=Update Daemon,dc=example,dc=com"
</verb>
<p>
SASL ベースの例：
<verb>
    updatedn "uid=slurpd@EXAMPLE.COM"
</verb>
<tag/
updateref &lt;URL&gt;
/
<!-- [orig]
<tscreen><verb>
This directive is only applicable in a slave slapd. It specifies the URL to return to clients which 
submit update requests upon the replica. If specified multiple times, each URL is provided.
-->
このディレクティブはスレーブの slapd にのみ適用できます。
これは複製の更新要求を送るクライアントに戻す URL を指定します。
このディレクティブはいくつも指定でき、各 URL
が戻されます。
<!-- [orig]
Example:
update  ldap://master.example.net
</verb></tscreen>
-->
<!--???
  'update' ではなく 'updateref'
-->
<p>
たとえば次のように指定します。
<verb>
    updateref  ldap://master.example.net
</verb>
</descrip>

<!-- [orig]
<sect1>LDBM Backend-Specific Directives
-->
<sect1>LDBM バックエンド固有ディレクティブ
<p>
<!-- [orig]
Directives in this category only apply to the LDBM backend database. That is, they must follow a 
"database ldbm" line and come before any other "database" line.
-->
このカテゴリのディレクティブは、LDBM バックエンドデータベースにのみ適用され
ます。すなわち、"database ldbm" とある行の後で、次の "database" 行が現れ
る前になければなりません。
<p>
<descrip>
<tag/
cachesize &lt;integer&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the size in entries of the in-memory cache maintained by the LDBM backend database
instance.
-->
このディレクティブは、LDBM バックエンドデータベースの実体によって管理される
メモリ内キャッシュのエントリ数を指定します。
<!-- [orig]
Default:
cachesize 1000
</verb></tscreen>
<p>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    cachesize 1000
</verb>
<tag/
dbcachesize &lt;integer&gt;
/
<!-- [orig]
<tscreen><verb>
This directive specifies the size in bytes of the in-memory cache associated with each open index file. If not
supported by the underlying database method, this directive is ignored without comment. Increasing this number
uses more memory but can cause a dramatic performance increase, especially during modifies or when building
indexes.
-->
このディレクティブは、オープンされている索引ファイルそれぞれと関連づ
けられているメモリ内キャッシュのサイズをバイト数で指定します。基板のデー
タベース方式でサポートされなければ、このディレクティブは黙って無視されます。
この数を増やすとより多くのメモリを使いますが、劇的な性能の向上が得られま
す。特に 更新と索引の作成で性能の向上が顕著です。
<!-- [orig]
Default:
dbcachesize 100000
</verb></tscreen>

<p>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    dbcachesize 100000
</verb>
<tag/
dbnolocking
/
<!-- [orig]
<tscreen><verb>
This option, if present, disables database locking. Enabling this option may improve performance at
the expense of data security.
</verb></tscreen>
-->
このディレクティブが指定されるとデータベースのロックが
無効になります。このディレクティブは、データのセキュリティを
犠牲にしてでも性能を上げたい場合に使います。
<!-- [orig]
<p>dbnosync
-->
<tag/dbnosync/
<!-- [orig]
<tscreen><verb>
This option causes on-disk database contents not be immediately synchronized with in memory changes upon
change. 
Enabling this option may improve performance at the expense of data security.
</verb></tscreen>

<p>
-->
このディレクティブは、変更に対するメモリ内の変更をディスク上の内容と
すぐには同期をとらないようにします。このディレクティブは、データの
セキュリティを犠牲にしてでも性能を上げたい場合に使います。
<tag/
directory &lt;directory&gt;
/
<!--
<tscreen><verb>
This directive specifies the directory where the LDBM files containing the database and associated indexes
live.
-->
このディレクティブは、データベースと関連する索引を含んだ LDBM ファイル郡を
置くディレクトリを指定します。
<!-- [orig]
Default:
directory /usr/local/var/openldap-ldbm
</verb></tscreen>

<p>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    directory /usr/local/var/openldap-ldbm
</verb>
<tag/
index {&lt;attrlist&gt; | default} [pres,eq,approx,sub,none]
/
<!-- [orig]
<tscreen><verb>
This directive specifies the indexes to maintain for the given attribute. If only an &lt;attrlist&gt; is
given, 
the default indexes are maintained.
-->
このディレクティブは、与えた属性について管理する索引を指定します。
&lt;attrlist&gt; だけが与えられた場合、デフォルトの索引が管理されます。
<!-- [orig]
Example:
index default pres,eq
index objectClass,uid
index cn,sn eq,sub,approx
-->
たとえば次のように指定します。
<verb>
    index default pres,eq
    index objectClass,uid
    index cn,sn eq,sub,approx
</verb>
<!-- [orig]
The first line sets the default set of indices to maintain to present and equality. The second line 
causes the default (pres,eq) set of indices to be maintained for objectClass and uid attribute types. 
The third line causes equality, substring, and approximate indices to be maintained for cn and sn attribute
types.
</verb></tscreen>
-->
１行目は、索引のデフォルトセットを存在と等価性を管理するように設定します。
２行目は、objectClass と uid 属性型についてデフォルトの索引(pres, eq)を
管理するように設定します。３行目は、cn と sn 属性型について等価性、
部分文字列、近似の索引を管理するように設定します。
<!-- [orig]
<p>mode &lt;integer&gt;
-->
<tag/mode &lt;integer&gt;/
<!-- [orig]
<tscreen><verb>
This directive specifies the file protection mode that newly created database index files should have.
-->
このディレクティブは、新たに作成されるデータベース索引ファイル
の持つファイル保護モードを指定します。
<!-- [orig]
Default:
mode 0600
</verb></tscreen>
-->
<p>
デフォルトの設定は次のとおりです。
<verb>
    mode 0600
</verb>
</descrip>

<!-- [orig]
<sect1>Other Backend Databases
-->
<sect1>他のバックエンドデータベース
<p>
<!-- [orig]
<it/slapd/ supports a number of backend database types besides the default LDBM:
-->
<it/slapd/ は、デフォルトの LDBM の他にもいくつもの
バックエンドデータベース種別をサポートしています。
<!-- [orig]
<itemize>
<item>ldbm: Berkeley or GNU DBM compatible backend  
<item>passwd: Provides read-only access to /etc/passwd  
<item>shell: Shell (extern program) backend  
<item>sql: SQL Programmable backend
</itemize>  
-->
<itemize>
<item>ldbm: Berkeley または GNU DBM 互換のバックエンド
<item>passwd: /etc/passwd への読取り専用のアクセスを提供
<item>shell: シェル(外部プログラム)バックエンド
<item>sql: SQL プログラムが可能なバックエンド
</itemize>
<p>
<!-- [orig]
Take a look on the  slapd.conf(5) manpage for details.
-->
詳しくは {{slapd.conf}}(5) manpage を参照してください。

<!-- [orig]
<sect1>Access Control Examples
-->
<sect1>アクセス制御の例
<p>
<!-- [orig]
The access control facility presented on <ref id="3.2" name="section
3.2"> is quite powerful. This section shows some examples of its use. First, some simple examples: 
-->
<ref id="3.2" name="グローバルディレクティブ">の説明にあるアクセス制御
機能は実に強力です。この節では、アクセス制御の利用例をいくつか示します。
まずは、簡単な例から。
<tscreen><verb>
access to * by * read 
</verb></tscreen>
<p>
<!-- [orig]
This access directive grants read access to everyone. If it appears alone it is the same as the following
defaultaccess line. 
-->
この access ディレクティブは、あらゆる人に読取り(read)アクセス権を与えます。
これだけを指定した場合には、次の defaultaccess 行と同じことになります。
<tscreen><verb>
defaultaccess read 
</verb></tscreen>
<p>
<!-- [orig]
The following example shows the use of a regular expression to select the entries by DN in two access
directives where ordering is significant. 
-->
次の例は、DN でエントリを選択するのに正規表現を利用しているところを
示しています。この二つのアクセス権宣言の順番は重要です。
<!-- [orig]
<tscreen><verb>
access to dn=".*, o=U of M, c=US" 
by * search 
access to dn=".*, c=US" 
by * read 
</verb></tscreen>
-->
<!--??? [誤り]
  前の行に続く(by〜)なら字下げをしないと 
-->
<tscreen><verb>
access to dn=".*, o=U of M, c=US" 
    by * search 
access to dn=".*, c=US" 
    by * read 
</verb></tscreen>
<p>
<!-- [orig]
Read access is granted to entries under the c=US subtree, except for those entries under the "o=University of
Michigan, c=US" subtree, to which search access is granted. If
the order of these access directives was reversed, the U-M-specific directive would never be matched, since
all U-M entries are also c=US entries. 
-->
<!-- ??? [誤り]
 例に従えば "o=University of Michigan, c=US" ではなく "o=U of M, c=US"
 U-M も U of M にしたほうがよいでしょう
-->
この例では、読取り(read)アクセス権が c=US サブツリー配下のエントリに
与えられますが、"o=U of M, c=US" サブツリー配下に限っては検索(search)
アクセス権しか与えられません。このアクセス権指定の順序を逆にすると、
すべての "U of M" エントリは "c=US" エントリでもあるので、
"U of M" の方の指定が全く適用されなくなってしまいます。
<p>
<!-- [orig]
The next example again shows the importance of ordering, both of the access directives and the "by" clauses.
It also shows the use of an attribute selector to grant access to a
specific attribute and various &lt;who&gt; selectors. 
-->
次の例も順序の重要性を示していますが、今度はアクセス権指定の他に "by" 節の
順序についても示しています。
またこの例では、特定の属性へのアクセス権を与える属性セレクタと、
さまざまな &lt;who&gt; セレクタの利用法についても示しています。
<!-- [orig]
<tscreen><verb>
access to dn=".*, o=U of M, c=US" attr=homePhone 
by self write 
by dn=".*, o=U of M, c=US" search 
by domain=.*&bsol;.umich&bsol;.edu read 
by * compare 
access to dn=".*, o=U of M, c=US" 
by self write 
by dn=".*, o=U of M, c=US" search 
by * none 
</verb></tscreen>
-->
<!--??? [誤り]
  前の行に続く(by〜)なら字下げをしないと 
-->
<tscreen><verb>
access to dn=".*, o=U of M, c=US" attr=homePhone 
    by self write 
    by dn=".*, o=U of M, c=US" search 
    by domain=.*\.umich\.edu read 
    by * compare 
access to dn=".*, o=U of M, c=US" 
    by self write 
    by dn=".*, o=U of M, c=US" search 
    by * none 
</verb></tscreen>
<p>
<!-- [orig]
This example applies to entries in the "o=U of M, c=US" subtree. To all attributes except homePhone, the entry
itself can write them, other U-M entries can search by them,
anybody else has no access. The homePhone attribute is writable by the entry, searchable by other U-M entries,
readable by clients connecting from somewhere in the
umich.edu domain, and comparable by everybody else. 
-->
<!-- ??? [誤り]
 U-M は U of M にしたほうがよいでしょう
-->
この例は、"o=U of M, c=US" サブツリーのエントリに適用されます。
属性 homePhone を除くすべての属性に対し、当該エントリ自体には
書込み権(write)を与え、他の "U of M" 配下のエントリには
検索権(search)を与え、その他のエントリにはアクセス権を与えません。
属性 homePhone に対しては、当該エントリ自体には書込み権(write)を与え、
他の "U of M" エントリには検索権(search)を与え、umich.edu ドメイン内の
どこからか接続するクライアントには読取り権を与え、その他のエントリには
比較権(compare)を与えます。
<p>
<!-- [orig]
Sometimes it is usefull to permit a particular DN to add or remove itself from an attribute. For example, if
you would like to create a group and allow people too add and remove only
their own DN from the member attribute, you could accomplish it with an access directive like this: 
-->
<!--??? [誤字]
 `usefull' は `useful' の誤り
 `too' は `to' の誤り
-->
特定の DN に属性の追加と除去を許すことが有用なことがあります。
たとえば、あるグループを作成し、人々に member 属性への追加と
除去を自分自身の DN に限ってできるようにしたい場合、
次のようなアクセス権宣言で実現できます。
<!-- [orig]
<tscreen><verb>
access to attr=member,entry 
by dnattr=member selfwrite 
</verb></tscreen>
-->
<!--??? [誤り]
 継続行が字下げされていない
-->
<tscreen><verb>
access to attr=member,entry 
    by dnattr=member selfwrite 
</verb></tscreen>
<p>
<!-- [orig]
The dnattr &lt;who&gt; selector says that the access applies to entries listed in the member attribute. The
selfwrite access selector says that such members can only add or delete their own DN from the attribute, not
other values. The addition of the entry attribute is required because access to the entry is required to
access any of the entry's attributes. 
-->
セレクタ dnattr &lt;who&gt; は、アクセス権が member 属性にリストされている
エントリに適用されることを指定します。アクセス権セレクタ selfwrite は、
そのような member 達が自分自身の DN だけを属性から追加/削除できることを指定
します。また、entry 属性を追加しておくことが必要です。なぜなら、
エントリのどの属性にアクセスするにせよ、エントリへのアクセス権が必要に
なるからです。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
"entry" はエントリ内に実在しない特殊な属性で、
属性へのアクセス権指定でエントリへのアクセス権を指定するために
使うものです。
<p>
<!-- [orig]
Note that the attr=member construct in the &lt;what&gt; clause is a shorthand for the clause "dn=*
attr=member" (i.e., it matches the member attribute in all entries). 
-->
&lt;what&gt; 節の中の attr=member 構成要素は、節 "dn=* attr=member" の
省略形であることに注目してください(すなわち、すべてのエントリの member
属性に一致します)。
<p>
<!-- [orig]
Note: Take a look on OpenLDAP Administrator's Guide at <url url="http://openldap.org" name="
http://www.openldap.org"> to learn more about Access Control on Ldap.
-->
注記：LDAP のアクセス制御についてもっと知りたければ
OpenLDAP Administrator's Guide
(<htmlurl url="http://openldap.org" name="http://www.openldap.org">)
を調べてください。

<!-- [orig]
<sect1>Configuration File Example
-->
<sect1>設定ファイルの例
<p>
<!-- [orig]
The following is an example configuration file, interspersed with explanatory text. It defines two databases
to handle different parts of the X.500 tree; both are LDBM database instances. The line numbers shown are
provided for reference only and are not included in the actual file. First, the global configuration section:
-->
以下は設定ファイルの例です。例の所々には説明をつけてあります。
これは二つのデータベースを定義していて、それぞれ X.500
ツリーの別々の部分を処理します。両方ともデータベースには
LDBM を使っています。説明の都合上、例には行番号をつけていますが、
実際のファイルには行番号をつけません。まずはグローバル設定セクション
から説明します。

<tscreen><verb>
  1.    # example config file - global configuration section
  2.    include /usr/local/etc/schema/core.schema
  3.    referral ldap://root.openldap.org
  4.    access to * by * read
</verb></tscreen>

<p>
<!-- [orig]
Line 1 is a comment. Line 2 includes another config file which containing core schema definitions. The
referral directive on line 3 means that queries not local to one of the databases defined below will be
referred to the LDAP server running on the standard port (389) at the host root.openldap.org.
-->
行 1 はコメントです。行 2 は core スキーマ定義を含んだ
別の設定ファイルを取り込みます。行 3 の referral
ディレクティブは、後に定義するデータベースのどれかにローカル
でない問合せについて、ホスト root.openldap.org
で動作している標準ポート(389)の LDAP サーバを参照することを意味します。
<p>
<!-- [orig]
Line 4 is a global access control. It is used only if no database access controls match or when the target
objects are not under the control of any database (such as the Root DSE).
-->
行 4 はグローバルなアクセス制御です。これは、データベースのアクセス制御に
一致するものがない場合、あるいは、アクセスの対象となるオブジェクトが
(Root DSE のように)どのデータベースの制御下にもない場合にのみ使われます。
<p>
<!-- [orig]
The next section of the configuration file defines an LDBM backend that will handle queries for things in the
"dc=example,dc=com" portion of the tree. The database is to be replicated to two slave slapds, one on
truelies, the other on judgmentday. Indexes are to be maintained for several attributes, and the
<it/userPassword/ attribute is to be protected from unauthorized access.
-->
設定ファイルの例の次の部分は、ツリーの "dc=example,dc=com" 配下
にあるものについての問合せを処理する LDBM バックエンドを定義します。
このデータベースは二つのスレーブ slapd に複製されます。
スレーブの一つは truelies で、もう一つは judgmentday です。
いくつかの属性について索引が管理され、<it/userPassword/
属性は認証されていないものからのアクセスから保護されます。

<tscreen><verb>
  5.    # ldbm definition for the example.com
  6.    database ldbm
  7.    suffix "dc=example, dc=com"
  8.    directory /usr/local/var/openldap
  9.    rootdn "cn=Manager, dc=example, dc=com"
 10.    rootpw secret
 11.    # replication directives
 12.    replogfile /usr/local/var/openldap/slapd.replog
 13.    replica host=slave1.example.com:389
 14.            binddn="cn=Replicator, dc=example, dc=com"
 15.            bindmethod=simple credentials=secret
 16.    replica host=slave2.example.com
 17.            binddn="cn=Replicator, dc=example, dc=com"
 18.            bindmethod=simple credentials=secret
 19.    # indexed attribute definitions
 20.    index uid pres,eq
 21.    index cn,sn,uid pres,eq,approx,sub
 22.    index objectClass eq
 23.    # ldbm access control definitions
 24.    access to attr=userPassword
 25.            by self write
 26.            by anonymous auth
 27.            by dn="cn=Admin,dc=example,dc=com" write
 28.            by * none
 29.    access to *
 30.            by self write
 31.            by dn="cn=Admin,dc=example,dc=com" write
 32.            by * read
</verb></tscreen>
<p>
<!-- [orig]
Line 5 is a comment. The start of the database definition is marked by the database keyword on line 6. Line 7
specifies the DN suffix for queries to pass to this database. Line 8 specifies the directory in which the
database files will live.
-->
行 5 はコメントです。データベース定義の始まりは、
行 6 の database キーワードで示します。行 7 は、このデータベース
に渡す問合せのための DN 接尾辞を指定します。行 8 は、
データベースファイルを置くディレクトリを指定します。
<p>
<!-- [orig]
Lines 9 and 10 identify the database "super user" entry and associated password. This entry is not subject to
access control or size or time limit restrictions.
-->
行 9 と 10 は、このデータベースの「スーパユーザ」エントリと
そのパスワードを指定します。このエントリは
アクセス制御あるいはサイズ/時間制限に従いません。
<p>
<!-- [orig]
Lines 11 through 18 are for replication. Line 11 specifies the replication log file (where changes to the
database are logged - this file is written by slapd and read by slurpd). Lines 12 through 14 specify the
hostname and port for a replicated host, the DN to bind as when performing updates, the bind method (simple)
and the credentials (password) for the binddn. Lines 15 through 18 specify a second replication site.
-->
行 11 から 18 は複製の設定です。行 11 は複製ログファイルを
指定します(データベースの変更が記録されます - このファイルには
slapd が書き込み、slurpd が読み出します)。行 12 から 14 は
複製が作られるホスト、更新を行うときのバインドのための DN、
バインド方法(簡易認証)、binddn のための証明書(パスワード)を
指定します。行 15 から 18 は、第２の複製サイトを指定します。
<p>
<!-- [orig]
Lines 20 through 22 indicate the indexes to maintain for various attributes.
-->
行 20 から 22 は、さまざまな属性のために管理する索引を指定します。
<p>
<!-- [orig]
Lines 24 through 32 specify access control for entries in the database. For all entries, the userPassword
attribute is writable by the entry itself and by the "admin" entry. It may be used for
authentication/authorization purposes, but is otherwise not readable. All other attributes are writable by the
entry and the "admin" entry, but may be read by authenticated users.
-->
行 24 から 32 は、データベース内のエントリのためのアクセス制御を
指定します。すべてのエントリの {{EX:userPassword}} 属性は、
そのエントリ自身および "admin" エントリから更新可能です。
この属性は認証の目的には使えますが読み取れません。
その他すべての属性は、そのエントリ自身および "admin" エントリから
更新可能で、認証されたユーザから読み取れます。
<p>
<!-- [orig]
The next section of the example configuration file defines another LDBM database. This one handles queries
involving the dc=example,dc=net subtree. Note that without line 38, the read access would be allowed due to
the global access rule at line 4.
-->
設定ファイルの例の次の部分は、別の LDBM データベースを定義します。
この LDBM データベースは dc=example,dc=net サブツリーに
関する問合せを処理します。行 38 がないと、行 4 のグローバルアクセス
規則により読み取りアクセスが許可されることに注意してください。
<tscreen><verb>
 33.    # ldbm definition for example.net
 34.    database ldbm
 35.    suffix "dc=example, dc=net"
 36.    directory /usr/local/var/ldbm-example-net
 37.    rootdn "cn=Manager, dc=example, dc=com"
 38.    access to * by users read
</verb></tscreen>

<!-- [orig]
<sect>Running the LDAP Server<label id="4">
-->
<sect>LDAP サーバの実行<label id="4">
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この章の説明は基本的に OpenLDAP 2.0.x に基づいています。
<p>
<!-- [orig]
<it/slapd/ is designed to be run as a stand-alone server. This allows the server to take advantage of caching,
manage concurrency issues with underlying databases, and conserve system resources. Running from inetd(8) is
NOT an option.
-->
<it/slapd/ はスタンドアローンサーバとして動作するように設計されて
います。これによりサーバは、キャッシング、基盤データベース
における並行処理問題の管理、システムリソースの維持といった利点が
得られます。inetd(8) から実行するオプションはなくなりました。

<!-- [orig]
<sect1>Command Line Options<label id="4.1">
-->
<sect1>コマンドラインオプション<label id="4.1">
<p>
<!-- [orig]
<it/slapd/ supports a number of command-line options as detailed in the manual page. This section details a
few commonly used options:
-->
<it/slapd/ は、マニュアルページに詳説されているように多くの
コマンドラインオプションをサポートしています。この節では
よく使われる少数のオプションについて詳説します。

<p>
<descrip>
<tag/
-f &lt;filename&gt;
/
<!-- [orig]
<tscreen><verb>
This option specifies an alternate configuration file for slapd. The default is normally
/usr/local/etc/openldap/slapd.conf.
</verb></tscreen>

<p>
-->
このオプションは、slapd の設定ファイルを明示します。
デフォルトは普通 /usr/local/etc/openldap/slapd.conf です。
<tag/
-h &lt;URLs&gt;
/
<!-- [orig]
<tscreen><verb>
This option specifies alternative listener configurations. The default is ldap:/// which implies LDAP over TCP
on all
interfaces on the default LDAP port 389. You can specify specific host-port pairs or other protocol schemes 
(such as ldaps:// or ldapi://). For example, -h "ldaps:// ldap://127.0.0.1:667" will create two listeners: one
for 
LDAP over SSL on all interfaces on the default LDAP/SSL port 636, and one for LDAP over TCP on the localhost 
(loopback) interface on port 667. Hosts may be specified using IPv4 dotted-decimal form or using host names.
Port values must be numeric.
</verb></tscreen>

<p>
-->
このオプションは代替のリスナ設定を指定します。
デフォルトは ldap:/// です。
これはデフォルトの LDAP ポート 389 ですべてのインタフェースを扱う
TCP上の LDAP を意味します。
このオプションには、特定のポスト/ポートのペアもしくは他の
プロトコルスキーム(ldaps:// や ldapi:// など)を指定できます。
たとえば -h "ldaps:// ldap://127.0.0.1:667" は、
二つのリスナを作成します。一つはデフォルトの LDAP/SSL ポート 636
ですべてのインタフェースを扱う SSL 上の LDAP です。もう一つは
ポート 667 で localhost (loopback)のインタフェース
を扱う TCP上の LDAP です。ホストは、IPv4 の数値とドットを使った
形式でもホスト名ででも指定できます。
<tag/
-n &lt;service-name&gt;
/
<!-- [orig]
<tscreen><verb>
This option specifies the service name used for logging and other purposes. The default service name is slapd.
</verb></tscreen>

<p>
-->
このオプションは、ログ採取などで使われるサービス名を指定します。
デフォルトのサービス名は slapd です。
<tag/
-l &lt;syslog-local-user&gt;
/
<!-- [orig]
<tscreen><verb>
This option specifies the local user for the syslog(8) facility. Values can be LOCAL0, LOCAL1, LOCAL2, ...,
and LOCAL7. 
The default is LOCAL4. This option may not be supported on all systems.
</verb></tscreen>

<p>
-->
このオプションは syslog(8) 機能のローカルユーザを指定します。
値は LOCAL0, LOCAL1, LOCAL2, から LOCAL7
まで指定できます。デフォルトは LOCAL4 です。
このオプションはシステムによってサポートされていないことがあります。
<tag/
-u user -g group
/
<!-- [orig]
<tscreen><verb>
These options specify the user and group, respectively, to run as. user can be either a user name or uid. 
group can be either a group name or gid.
</verb></tscreen>

<p> 
-->
これらのオプションは、それぞれ slapd を実行するための
ユーザとグループを指定します。user にはユーザ名か
uid を指定します。group にはグループ名か gid を指定します。
<tag/
-r directory
/
<!-- [orig]
<tscreen><verb>
This option specifies a run-time directory. slapd will chroot(2) to this directory after opening listeners but
before reading any configuration files or initializing any backends.
</verb></tscreen>

<p>
-->
このオプションは実行時ディレクトリを指定します。
slapd はリスナをオープンした後、設定ファイルの読込みや
バックエンドの初期化をする前に、このディレクトリに
chroot(2) します。
<tag/
-d &lt;level&gt; | ?
/
<!-- [orig]
<tscreen><verb>
This option sets the slapd debug level to &lt;level&gt;. When level is a `?' character, the various debugging 
levels are printed and slapd exits, regardless of any other options you give it. Current debugging levels are:
-->
このオプションは slapd のデバッグレベルを &lt;level&gt; に設定します。
レベルが `?' 文字の場合、さまざまなデバッグレベルを表示し、他の
オプション指定を無視して slapd は終了します。現在サポートされてい
るデバッグレベルには次のものがあります。
<!-- [orig]
-1  enable all debugging  
0  no debugging  
1  trace function calls  
2  debug packet handling  
4  heavy trace debugging  
8  connection management  
16  print out packets sent and received  
32  search filter processing  
64  configuration file processing  
128  access control list processing  
256  stats log connections/operations/results  
512  stats log entries sent  
1024  print communication with shell backends  
2048  print entry parsing debugging  
-->
<verb>
-1      すべてのデバッグレベルを有効にする
0       デバッグしない
1       関数呼出しのトレース
2       パケット処理のデバッグ
4       詳細なデバッグトレース
8       接続管理
16      パケット送受信の印字
32      検索フィルタ処理
64      設定ファイル処理
128     アクセス制御リスト処理
256     接続/操作/結果の統計ログ
512     エントリ送信の統計ログ
1024    shell バックエンドとの通信の印字
2048    エントリ解析のデバッグ印字
</verb>
<!-- [orig]
You may enable multiple levels by specifying the debug option once for each desired level. Or, since debugging
levels are additive, you can do the math yourself. That is, if you want to trace function calls and watch the 
config file being processed, you could set level to the sum of those two levels (in this case, -d 65). 
Or, you can let slapd do the math, (e.g. -d 1 -d 64). Consult &lt;ldap.h&gt; for more details.
-->
<p>
複数のデバッグレベルを有効にすることもできます。要求するレベル
それぞれについてデバッグオプションを指定してもよいですし、
デバッグレベルを加算して指定してもかまいません。つまり、関数呼出し
のトレースと設定ファイルの処理の観察を行いたければ、レベルをその
二つのレベルの合計に設定すればよいのです(この場合は -d 65)。
また、そのような加算を slapd にさせることもできます(たとえば
-d 1 -d 64)。より詳しくは &lt;ldap.h&gt; ファイルを参照してください。
<!-- [orig]
Note: slapd must have been compiled with -DLDAP_DEBUG defined for any debugging information beyond the two
stats 
levels to be available. 
</verb></tscreen>
-->
<p>
注記：統計ログを出力する二つのレベル以外のデバッグ情報を出力できるように
するには、slapd を -DLDAP_DEBUG 付きで slapd をコンパイルしておか
なければなりません。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
OpenLDAP 2.0.x では -d ? 指定が無くなりました。
</descrip>

<!-- [orig]
<sect1>Starting the LDAP server
-->
<sect1>LDAP サーバの起動
<p>
<!-- [orig]
In general, slapd is run like this:
-->
一般に slapd は次のように実行します。
<!-- [orig]
<p>
/usr/local/etc/libexec/slapd [&lt;option&gt;]*
-->
<verb>
    /usr/local/etc/libexec/slapd [<option>]*
</verb>
<p>
<!-- [orig]
where /usr/local/etc/libexec is determined by configure and &lt;option&gt; is one of the options described
above (or in slapd(8)). Unless you have specified a
debugging level (including level 0), slapd will automatically fork and detach itself from its controlling
terminal and run in the background.
-->
ここで /usr/local/etc/libexec は、configure スクリプトで
決定された場所で、&lt;option&gt; は前述した(あるいは slapd(8)
に説明のある)オプションです。デバッグレベルを指定しなければ(レベルに 0
を指定した場合も含めて)、slapd は自動的に fork し、
制御端末から自分を切り離してバックグラウンドで動作します。

<!-- [orig]
<sect1>Killing the LDAP server<label id="4.2">
-->
<sect1>LDAP サーバの終了<label id="4.2">
<p>
<!-- [orig]
To kill off slapd safely, you should give a command like this: 
-->
安全に slapd を終了させるには、次のようにコマンドを与えます。
<p>
kill -TERM `cat $(ETCDIR)/slapd.pid` 
<p>
<bf>&lsqb;訳注&rsqb;</bf>
OpenLDAP 2.0.x では `-TERM' ではなく `-INT' を指定することになっていなす。
<p>
<!-- [orig]
Killing slapd by a more drastic method may cause its LDBM databases to be corrupted, as it may need to flush
various buffers before it exits. Note that slapd writes its pid to a file called slapd.pid in the directory
you configured in slapd.conf file, for example: /usr/local/var/slapd.pid 
-->
<!--??? [執筆者に確認]
  ディレクトリだけでなくファイル名も指定するのだが
-->
slapd が終了する前にはさまざまなバッファをフラッシュする必要が
あるため、より強制的に終了させる手段を使うと LDBM データベースが
不正になる恐れがあります。slapd は、slapd.conf ファイルに設定した
ディレクトリの slapd.pid というファイル(たとえば /usr/local/var/slapd.pid)
に pid を書き込みます。
<!-- [orig]
You can change the location of this pid file by changing the SLAPD_PIDFILE variable in
include/ldapconfig.h.edit 
-->
<!--??? [執筆者に確認]
  slapd.pid ファイルを include/ldapconfig.h.edit を編集して設定するのは
  ミシガン大のものの仕様である。OpenLDAP では slapd.conf で設定するように変更
  されている。
-->
<p>
include/ldapconfig.h.edit 中の SLAPD_PIDFILE を変更することによって、
この pid ファイルの位置を変更できます。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
現在の OpenLDAP では slapd.conf のグローバルオプションで pid ファイルの
位置を設定するように変更されています。たとえば
`<tt>pidfile /usr/local/var/slapd.pid</tt>' と指定します。
<p>
<!-- [orig]
Slapd will also write its arguments to a file called slapd.args in the directory you configured in slapd.conf
file, for example /usr/local/var/slapd.args 
-->
また、slapd は、slapd.conf ファイルに設定したディレクトリの
slapd.args というファイル(たとえば /usr/local/var/slapd.args)に
slapd の引数を書き込みます。
<!-- [orig]
You can change the location of the args file by changing the SLAPD_ARGSFILE variable in
include/ldapconfig.h.edit. 
-->
<!--??? [執筆者に確認]
  slapd.args ファイルを include/ldapconfig.h.edit を編集して設定するのは
  ミシガン大のものの仕様である。OpenLDAP では slapd.conf で設定するように変更
  されている。
-->
include/ldapconfig.h.edit 中の SLAPD_ARGSFILE を変更することによって、
この引数ファイルの位置を変更できます。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
現在の OpenLDAP では slapd.conf のグローバルオプション
で引数ファイルの位置を設定するように変更されています。たとえば
`<tt>argsfile /usr/local/var/slapd.args</tt>' と指定します。

<!-- [orig]
<sect>Database Creation and Maintenance
-->
<sect>データベース作成/管理ツール
<p>
<!-- [orig]
This section tells you how to create a slapd database from scratch. There are two ways to create a database.
First, you can create the database on-line using LDAP. With this
method, you simply start up slapd and add entries using the LDAP client of your choice. This method is fine
for relatively small databases (a few hundred or thousand entries,
depending on your requirements). 
-->
この節では、slapd データベースを 0 から作成する方法と、
問題が発生したときのトラブルシューティングについて説明します。
データベースを作成するのには二つの方法があります。
その一つは LDAP を用いてオンラインでデータベースを作成する
というものです。この方法では、単純に slapd を起動し、
適当な LDAP クライアントを用いてエントリを追加します。
この方法は、比較的小さなデータベース(用件に応じて数百から千程度)の
作成に適しています。
<p>
<!-- [orig]
The second method of database creation is to do it off-line, using the index generation tools. This method is
best if you have many thousands of entries to create, which would
take an unacceptably long time using the LDAP method, or if you want to ensure the database is not accessed
while it is being created. 
-->
データベースを作成するもう一つの方法は、slapd 用に提供される
特殊なユーティリティを用いてオフラインで行うというものです。
この方法は、LDAP を使っていては耐えられないほどの長い時間が
かかってしまうような何千以上ものエントリがある場合、もしくは
データベースの作成中にデータベースへのアクセスが無いように
することを保証したい場合に最適な方法です。

<!-- [orig]
<sect1>Creating a Database online
-->
<sect1>オンラインでデータベースを作成する方法
<p>
<!-- [orig]
The OpenLDAP software package comes with an utility called ldapadd, used to add entries while the LDAP server
is running. If you choose to create the Database online, you
can use the ldapadd tool to add entries. After adding the first entries, you can still use ldapadd to add more
entries. You should be sure to set the following configuration options
on your sladp.conf file before starting slapd: 
-->
OpenLDAP ソフトウェアパッケージには ldapadd というツールが付属していて、
これは動作している LDAP サーバに対してエントリを追加するために利用します。
オンラインでデータベースを作成するつもりなら、エントリの追加に ldapadd
ツールを使えます。最初にエントリを追加した後に、さらにエントリを追加
するのにも ldapadd を使えます。slapd を始動する前に slapd.conf ファイルに
ある次の設定オプションを設定しておいてください。
<!-- [orig]
<p>
suffix &lt;dn&gt; 
-->
<verb>
    suffix <dn>
</verb>
<p>
<!-- [orig]
As described in the <ref id="3" name="section 3">, this option says what entries are to be held by this
database. You should set this to the DN of the root of the subtree you are trying to create. For
example: 
-->
<ref id="3" name="LDAP サーバの設定">で説明したように、このオプションには、
このデータベースに格納されるエントリ群が何であるかを記述します。
これは作成しようとしているサブツリーのルートの DN に設定します。
たとえば次のように設定します。
<!-- [orig]
<p>
suffix "o=TUDelft, c=NL" 
-->
<verb>
    suffix "o=TUDelft, c=NL"
</verb>
<p>
<!-- [orig]
You should be sure to specify a directory where the index files should be created: 
-->
索引ファイルを作成するディレクトリを設定してください。
<!-- [orig]
<p>
directory &lt;directory&gt; 
-->
<verb>
    directory <directory>
</verb>
<p>
<!-- [orig]
For example: 
-->
たとえば次のように設定します。
<!-- [orig]
<p>
directory /usr/local/tudelft 
-->
<verb>
    directory /usr/local/tudelft
</verb>
<p>
<!-- [orig]
You need to make it so you can connect to slapd as somebody with permission to add entries. This is done
through the following two options in the database definition: 
-->
エントリを追加する権限を持ったユーザで slapd に接続できるように設定
する必要があります。これはデータベース定義中の二つのオプションを
用いて行います。
<!-- [orig]
<p>
rootdn &lt;dn&gt; 
<p>
rootpw &lt;passwd&gt;   /* Remember to use crypto password here !!! */ 
-->
<!--???
  /* */ でコメントはいれられない
-->
<!--??? [誤字]
  'crypto' は 'crypt' の誤り
-->
<verb>
    rootdn <dn> 

    rootpw <passwd>   /* ここのパスワードに crypt を使うのを忘れないで !!! */ 
</verb>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
実際には /* 〜 */ でコメントを入れることはできません。
<p>
<!-- [orig]
These options specify a DN and password that can be used to authenticate as the "superuser" entry of the
database (i.e., the entry allowed to do anything). The DN and
password specified here will always work, regardless of whether the entry named actually exists or has the
password given. This solves the chicken-and-egg problem of how to authenticate and
add entries before any entries yet exist. 
-->
これらのオプションは、データベースの「スーパユーザ」エントリ(すなわち
何でもできるエントリ)として認証するのに使う DN とパスワードを指定します。
これで指定する DN とパスワードは、実際にこの名前のエントリがあるか、
そして指定のパスワードを持っているかにかかわらず常に有効です。
これは、まだ何もエントリが無い状態での認証とエントリの追加をどうするか
という「鶏と卵」問題を解決します。
<p>
<!-- [orig]
Finally, you should make sure that the database definition contains the index definitions you want: 
-->
最後に、データベース定義に望む索引定義を含めます。
<!-- [orig]
<p>
index &lcub;&lt;attrlist&gt; &verbar; default&rcub; &lsqb;pres,eq,approx,sub,none&rsqb; 
-->
<verb>
    index {<attrlist> | default } [pres,eq,approx,sub,none]
</verb>
<p>
<!-- [orig]
For example, to index the cn, sn, uid and objectclass attributes the following index configuration lines could
be used. 
-->
たとえば、cn, sn, uid, objectclass 属性に索引をつけるには、
次のような index 設定行を使います。
<!-- [orig]
<p>
index cn,sn,uid 
<p>
index objectclass pres,eq 
<p>
index default none 
-->
<verb>
    index cn,sn,uid 

    index objectclass pres,eq 

    index default none 
</verb>
<p>
<!-- [orig]
Once you have configured things to your liking, start up slapd, connect with your LDAP client, and start
adding entries. For example, to add a the TUDelft entry followed by a
Postmaster entry using the ldapadd tool, you could create a file called /tmp/newentry with the contents: 
-->
ここまで設定したら slapd を起動して、あなたの LDAP クライアントで
接続して、エントリの追加を開始してください。たとえば、TUDelft エントリ
とそれに属する Postmaster エントリを ldapadd ツールを用いて追加する
には、その内容を記述した /tmp/newentry というファイルを作成します。
<!-- [orig]
<tscreen><verb>
o=TUDelft, c=NL 
objectClass=organization 
description=Technical University of Delft Netherlands 

cn=Postmaster, o=TUDelft, c=NL 
objectClass=organizationalRole 
cn=Postmaster 
description= TUDelft postmaster - postmaster@tudelft.nl 
</verb></tscreen>
-->
<verb>
    o=TUDelft, c=NL 
    objectClass=organization 
    o=TUDelft
    description=Technical University of Delft Netherlands 

    cn=Postmaster, o=TUDelft, c=NL 
    objectClass=organizationalRole 
    cn=Postmaster 
    description= TUDelft postmaster - postmaster@tudelft.nl 
</verb>
<p>
<!-- [orig]
and then use a command like this to actually create the entry: 
-->
実際にエントリを作成するには次のようなコマンドを使います。
<!-- [orig]
<tscreen><verb>
ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -w secret 
</verb></tscreen>
-->
<verb>
    ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -w secret 
</verb>
<p>
<!-- [orig]
The above command assumes that you have set rootdn to "cn=Manager, o=TUDelft, c=NL" and rootpw to "secret". 
If you don't want to type the password on the command line, use the -W option for the ldapadd command instead
of -w "password". You will be prompted to enter the password: 
-->
上のコマンド利用例では、rootdn が "cn=Manager, o=TUDelft, c=NL"、
rootpw が "secret" に設定されているものとします。コマンドラインに
パスワードをタイプしたくなければ、ldapadd コマンドのオプション
-w "password" の代わりに -W オプションを使ってください。そうすると、
次のようにパスワードの入力が要求されるようになります。
<!-- [orig]
<tscreen><verb>
ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -W 
Enter LDAP Password: 
</verb></tscreen>
-->
<verb>
    ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -W 
    Enter LDAP Password: 
</verb>

<!-- [orig]
<sect1>Creating a Database offline
-->
<sect1>オフラインでデータベースを作成する方法
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この節の説明は基本的に OpenLDAP 2.0.x に基づいています。
<p>
<!-- [orig]
The second method of database creation is to do it off-line, using the index generation tools described below.
This method is best if you have many thousands of entries to
create, which would take an unacceptably long time using the LDAP method described above. These tools read the
slapd configuration file and an input LDIF file containing a text representation of
the entries to add. 
They produce the LDBM index files directly. There are several important configuration options you will want to
be sure and set in the config file database definition first: 
-->
データベースを作成する第２の方法は、後述する索引生成ツールを用いて
オフラインで行うことです。何千以上ものエントリを格納する必要があり、
前述の LDAP を利用した方法を使ったのでは時間がかかりすぎるような場合
には、オフラインで生成するのが最適です。このツールは、slapd 用の設定
ファイルと、追加するエントリのテキスト表現が書かれた入力 LDIF ファイル
とを読み込み、LDBM 索引ファイルを直接作成します。まずは、設定ファイルの
データベース定義に設定しておくべき重要な設定オプションがいくつかあります。
<!-- [orig]
<p>
suffix &lt;dn&gt; 
-->
<verb>
suffix <dn>
</verb>
<p>
<!-- [orig]
As described in the preceding section, this option says what entries are to be held by this database. You
should set this to the DN of the root of the subtree you are trying to
create. For example:
-->
前述したように、このオプションは、このデータベースに格納されるエントリ
群が何であるかを示しています。これは作成しようとしているサブツリーの
ルートの DN に設定すべきです。たとえば次のように設定します。
<!-- [orig]
<p>
suffix "o=TUDelft, c=NL" 
-->
<verb>
    suffix "o=TUDelft, c=NL" 
</verb>
<p>
<!-- [orig]
You should be sure to specify a directory where the index files should be created: 
-->
索引ファイルを作成するディレクトリを設定してください。
<!-- [orig]
<p>
directory &lt;directory&gt; 
-->
<verb>
    directory <directory>
</verb>
<p>
<!-- [orig]
For example: 
-->
たとえば次のように設定します。
<!-- [orig]
<p>
directory /usr/local/tudelft 
-->
<verb>
    directory /usr/local/tudelft 
</verb>
<p>
<!-- [orig]
Next, you probably want to increase the size of the in-core cache used by each open index file. For best
performance during index creation, the entire index should fit in memory.
If your data is too big for this, or your memory too small, you can still make it pretty big and let the
paging system do the work. This size is set with the following option: 
-->
次に、オープンされている各索引ファイルによって利用されるメモリ内
キャッシュのサイズを増やしておくとよいでしょう。索引の作成時に
最高の性能を出すためには、全体の索引がメモリに納まるようにします。
このようにするにはデータが大きすぎる、あるいはメモリが少なすぎる場合でも、
キャッシュサイズをできるだけ大きくしましょう。後はページングシステムが
作業してくれます。このサイズは次のオプションで設定します。
<!-- [orig]
<p>
dbcachesize &lt;integer&gt; 
-->
<verb>
    dbcachesize <integer>
</verb>
<p>
<!-- [orig]
For example: 
-->
たとえば次のように設定します。
<!-- [orig]
<p>
dbcachesize 50000000 
-->
<verb>
    dbcachesize 50000000 
</verb>
<p>
<!-- [orig]
This would create a cache 50 MB big, which is pretty big (at University of Michigan, the database has about
125K entries, and the biggest index file is about 45 MB). Experiment
with this number a bit, and the degree of parallelism (explained below), to see what works best for your
system. Remember to turn this number back down once your index files are
created and before you run slapd. 
-->
これは 50MB というかなり大きなサイズのキャッシュを作成します(ミシガン
大学では、データベースが約 125K エントリ、最大の索引ファイルが約 45MB です)。
このキャッシュサイズと並行度(後述)を実験してみて、システムが最適に動作
するようにしてください。索引ファイルを作成したら、slapd を実行する前に
キャッシュサイズを小さな値に戻しておくのを忘れないでください。
<p>
<!-- [orig]
Finally, you need to specify which indexes you want to build. This is done by one or more index options. 
-->
最後に、作成する索引を指定する必要があります。
これは、一つ以上の index オプションによって行われます。
<!-- [orig]
<p>
index &lcub;&lt;attrlist&gt; &verbar; default&rcub; &lsqb;pres,eq,approx,sub,none&rsqb; 
-->
<verb>
    index {<attrlist> | default} [pres,eq,approx,sub,none]
</verb>
<p>
<!-- [orig]
For example: 
-->
たとえば次のように設定します。
<!-- [orig]
<p>
index cn,sn,uid pres,eq,approx 
<p>
index default none 
-->
<verb>
index cn,sn,uid pres,eq,approx 
<p>
index default none 
</verb>
<p>
<!-- [orig]
This would create presence, equality and approximate indexes for the cn, sn, and uid attributes, and no
indexes for any other attributes. See the configuration file on <ref id="3" name="section 3"> for
more information on this option. 
-->
これは、属性 cn, sn, and uid について存在、等価性、近似の索引を作成し、
他の属性については索引を作成しません。このオプションについて詳しくは
<ref id="3" name="LDAP サーバの設定">の設定ファイルを参照してください。
<p>
<!-- [orig]
Once you've configured things to your liking, you create the primary database and associated indexes by
running the slapadd(8) program:
-->
ここまで設定したら、slapadd(8) プログラムを実行して主データベースと
関連する索引を作成します。
<!-- [orig]
<p>
slapadd -l &lt;inputfile&gt; -f &lt;slapdconfigfile&gt; [-d &lt;debuglevel&gt;] [-n &lt;integer&gt;|-b
&lt;suffix&gt;]
-->
<verb>
    slapadd -l <inputfile> -f <slapdconfigfile>
            [-d <debuglevel>] [-n <integer>|-b <suffix>]
</verb>
<p>
<!-- [orig]
The arguments have the following meanings:
-->
引数の意味は次のとおりです。
<!-- [orig]
<tscreen><verb>
-l &lt;inputfile&gt;
</verb></tscreen>
<p>
-->
<descrip>
<tag/-l &lt;inputfile&gt;/
<!-- [orig]
Specifies the LDIF input file containing the entries to add in text form (Take a look on the next section).
-->
追加するエントリをテキスト形式で記述した LDIF 入力ファイルを指定します
(LDIF については次節を参照)。
<!-- [orig]
<tscreen><verb>
-f &lt;slapdconfigfile&gt;
</verb></tscreen>
<p>
-->
<tag/-f &lt;slapdconfigfile&gt;/
<!-- [orig]
Specifies the slapd configuration file that tells where to create the indexes, what indexes to create, etc.
-->
索引を作成する場所、作成する索引などを知らせる slapd 設定ファイルを
指定します。
<!-- [orig]
<tscreen><verb>
-d &lt;debuglevel&gt;
</verb></tscreen>
<p>
-->
<tag/-d &lt;debuglevel&gt;/
<!-- [orig]
Turn on debugging, as specified by &lt;debuglevel&gt;. The debug levels are the same as for slapd. See the
Command-Line Options section in Running slapd.
-->
&lt;debuglevel&gt; で指定したデバッグモードにします。
指定するデバッグレベルは slapd と同じです。「LDAP サーバの実行」の章の
「<ref id="4.1" name="コマンドラインオプション">」を参照してください。
<!-- [orig]
<tscreen><verb>
-n &lt;databasenumber&gt;
</verb></tscreen>
<p>
-->
<!-- [orig]
An optional argument that specifies which database to modify. The first database listed in the configuration
file is 1, the second 2, etc. By default, the first ldbm database in the configuration file is used. Should
not be used in conjunction with -b.
-->
どのデータベースを更新するかを指定するオプション引数。
設定ファイル中に定義されている最初のデータベースは 1、
２番目のデータベースは 2 というように指定します。
デフォルトでは、設定ファイルに定義されている最初の ldbm
データベースが使われます。オプション -b と併せて指定しては
なりません。
<!-- [orig]
<tscreen><verb>
-b &lt;suffix&gt;
</verb></tscreen>
<p>
-->
<tag/-b &lt;suffix&gt;/
<!-- [orig]
An optional argument that specifies which database to modify. The provided suffix is matched against a
database suffix directive to determine the database number. Should not be used in conjunction with -n.
-->
どのデータベースを更新するかを指定するオプション引数。
与えるサフィックスは、データベース番号を決定するために、
データベースの suffix ディレクティブと照合されます。
オプション -n と併せて指定してはなりません。
</descrip>
<p>
<!-- [orig]
Sometimes it may be necessary to regenerate indices (such as after modifying slapd.conf(5)). This is possible
using the slapindex(8) program. slapindex is invoked like this:
-->
時には索引の再作成が必要になることもあります(slapd.conf(5)
を変更した後など)。このようなことは、slapindex(8) プログラム
を使ってできます。slapindex は次の書式で起動します。
<!-- [orig]
<p>
slapindex -f &lt;slapdconfigfile&gt; [-d &lt;debuglevel&gt;] [-n &lt;databasenumber&gt;|-b &lt;suffix&gt;]
-->
<verb>
    slapindex -f <slapdconfigfile> [-d <debuglevel>]
              [-n <databasenumber>|-b <suffix>]
</verb>
<p>
<!-- [orig]
Where the -f, -d, -n and -b options are the same as for the slapadd(1) program. slapindex rebuilds all indices
based upon the current database contents.
-->
オプション -f, -d, -n, -b の意味は slapadd(1) プログラムと同じです。
slapindex は、現在のデータベースの内容を基にすべての索引を再作成します。
<p>
<!-- [orig]
There is another program called slapcat that is used to dump the database to an LDIF file. This can be useful
when you want to make a human-readable backup of your database or when you want to edit your database
off-line. The program is invoked like this:
-->
データベースを LDIF ファイルにダンプするのに使う slapcat という
プログラムが用意されています。これは、データベースの可読性の
あるバックアップをとりたいとき、データベースをオフラインで編集
したいときなどに有用です。このプログラムは次の書式で起動します。
<!-- [orig]
<p>
slapcat -l &lt;filename&gt; -f &lt;slapdconfigfile&gt; [-d &lt;debuglevel&gt;] [-n &lt;databasenumber&gt;|-b
&lt;suffix&gt;]
-->
<verb>
    slapcat -l <filename> -f <slapdconfigfile>
            [-d <debuglevel>] [-n <databasenumber>|-b <suffix>]
</verb>
<p>
<!-- [orig]
where -n or -b is used to select the database in the slapd.conf(5) specified using -f. The corresponding LDIF
output is written to standard output or to the file specified using the -l option.
-->
オプション -n または -b は、{{EX:-f}} で指定する slapd.conf(5)
に設定されているデータベースを選ぶのに使います。
相当する LDIF 出力は、標準出力か -l オプションで指定する
ファイルに書き出されます。

<!-- [orig]
<sect1>More on the LDIF format
-->
<sect1>LDIF フォーマットについてさらに
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この節の説明は基本的に OpenLDAP 2.0.x に基づいています。
<p>
<!-- [orig]
The LDAP Data Interchange Format (LDIF) is used to represent LDAP entries in a simple text format. The basic
form of an entry is: 
-->
LDAP データ交換フォーマット(LDIF - LDAP Data Interchange Format)は、
LDAP エントリを簡単なテキストフォーマットで表現するために利用されます。
エントリの基本的な形式は次のようなものです。
<!--
<tscreen><verb>
#comment 
dn: &lt;distinguished name&gt; 
&lt;attrdesc&gt;: &lt;attrvalue&gt; 
&lt;attrdesc&gt;: &lt;attrvalue&gt; 
... 
</verb></tscreen>
-->
<verb>
    # コメント
    dn: <識別名>
    <属性記述子>: <属性値>
    <属性記述子>: <属性値>
    ... 
</verb>
<p>
<!-- [orig]
Lines starting with a '#' character are comments. An attribute description (attrdesc) may be a simple
attribute type like cn or objectClass or 1.2.3 (an OID associated with an attribute type) or may include
options such as cn;lang_en_US or userCertificate;binary.
-->
文字 '#' で始まる行はコメントです。属性記述子は、
cn, objectClass, 1.2.3 (属性型の OID)のような単なる属性型であり、
cn;lang_en_US, userCertificate;binary のようにオプションも付けられます。
<p>
<!-- [orig]
A line may be continued by starting the next line with a single space or tab character. For example:
-->
行を単一のスペースまたはタブ文字で開始すると前の行に継続できます。
たとえば次のようにできます。
<tscreen><verb>
dn: cn=Barbara J Jensen, dc=example, dc=
 com
cn: Barbara J
    Jensen
</verb></tscreen>
<p>
<!-- [orig]
is equivalent to:
-->
これは次のものと同等です。
<tscreen><verb>
dn: cn=Barbara J Jensen, dc=example, dc=com
cn: Barbara J Jensen
</verb></tscreen>
<p>
<!-- [orig]
Multiple attribute values are specified on separate lines. e.g.,
-->
属性値が複数ある場合は行を分けて指定します。たとえば次のようになります。
<tscreen><verb>
cn: Barbara J Jensen
cn: Babs Jensen
</verb></tscreen>
<p>
<!-- [orig]
If an &lt;attrvalue&gt; contains non-printing characters or begins with a space, a colon (':'), or a less than
('&lt;'), the &lt;attrdesc&gt; is followed by a double colon and the base64 encoding of the value. For
example, the value " begins with a space" would be encoded like this:
-->
<属性値> に印字できない文字が含まれていたり、スペース、コロン(':')、
小なり記号('{{EX:<}}')で始まる場合には、<属性記述子> に続けてコロンを
二つ置き、base64 表記でエンコードした値を書きます。たとえば、
値が " begins with a space" であるときは次のようになります。
<tscreen><verb>
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
</verb></tscreen>
<p>
<!-- [orig]
You can also specify a URL containing the attribute value. For example, the following specifies the jpegPhoto
value should be obtained from the file /path/to/file.jpeg.
-->
属性値を保持した URL を指定することもできます。
次に示す例は、jpegPhoto の値をファイル /path/to/file.jpeg
から得ることを指定します。
<!-- [orig]
<tscreen><verb>
cn:< file://path/to/file.jpeg
</verb></tscreen>
-->
<!--???
    OpenLDAP 2.0 Administrator's Guide によれば...
-->
<tscreen><verb>
cn:< file:///path/to/file.jpeg
</verb></tscreen>
<!-- [orig]
Multiple entries within the same LDIF file are separated by blank lines. Here's an example of an LDIF file
containing three entries.
-->
<p>
同じ LDIF 中の複数のエントリは空行で分離します。
次に示すのは、三つのエントリを含んだ LDIF ファイルの例です。
<!-- [orig]
<tscreen><verb>
# Barbara's Entry
dn: cn=Barbara J Jensen, dc=example, dc=com
cn: Barbara J Jensen
cn: Babs Jensen
objectClass: person
sn: Jensen

# Bjorn's Entry
dn: cn=Bjorn J Jensen, dc=example, dc=com
cn: Bjorn J Jensen
cn: Bjorn Jensen
objectClass: person
sn: Jensen
# Base64 encoded JPEG photo
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG

# Jennifer's Entry
dn: cn=Jennifer J Jensen, dc=example, dc=com
cn: Jennifer J Jensen
cn: Jennifer Jensen
objectClass: person
sn: Jensen
# JPEG photo from file
jpegPhoto:< file://path/to/file.jpeg
</verb></tscreen>
-->
<!--???
  複数行にわたるバイナリ値の指定で字下げされていない
-->
<tscreen><verb>
# Barbara's Entry
dn: cn=Barbara J Jensen,dc=example,dc=com
cn: Barbara J Jensen
cn: Babs Jensen
objectClass: person
sn: Jensen

# Bjorn's Entry
dn: cn=Bjorn J Jensen,dc=example,dc=com
cn: Bjorn J Jensen
cn: Bjorn Jensen
objectClass: person
sn: Jensen
# Base64 encoded JPEG photo
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
 A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
 ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG

# Jennifer's Entry
dn: cn=Jennifer J Jensen,dc=example,dc=com
cn: Jennifer J Jensen
cn: Jennifer Jensen
objectClass: person
sn: Jensen
# JPEG photo from file
jpegPhoto:< file:///path/to/file.jpeg
</verb></tscreen>
<p>
<!-- [orig]
Notice that the jpegPhoto in Bjorn's entry is base 64 encoded and the jpegPhoto in Jennifer's entry is
obtained from the location indicated by the URL.
-->
ここで、Bjorn のエントリ中の jpegPhoto が base 64
エンコードで、Jennifer のエントリ中の jpegPhoto が
URL によって示された場所から取得されることに注目してください。
<p>
<!-- [orig]
Trailing spaces are not trimmed from values in an LDIF file. Nor are multiple internal spaces compressed. If
you don't want them in your data, don't put them there. 
-->
LDIF ファイルにおいて、値の後に続くスペースが切捨てられることは
ありません。また、値の中のスペースが縮められることもありません。データ
中にスペースを置きたくない場合は、LDIF にもスペースを置いてはなりません。

<!-- [orig]
<sect1>The ldapsearch, ldapdelete and ldapmodify utilities
-->
<sect1>ldapsearch, ldapdelete, ldapmodify ユーティリティ
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この節の説明は基本的に OpenLDAP 1.2.x に基づいています。
OpenLDAP 2.0.x ではオプションがいくつか追加/変更されています。
<p>
<!-- [orig]
ldapsearch - ldapsearch is a shell accessible interface to the ldap_search(3) library call. Use this utility
to search for entries on our LDAP databse backend. 
-->
ldapsearch - ldapsearch は、ldap_search(3) ライブラルコールに対応する
コマンドラインインタフェースです。このユーティリティは、LDAP データ
ベースバックエンド中のエントリを検索するために使います。
<p>
<!-- [orig]
The synopsis to call ldapsearch is the following (take a look at the ldapsearch man page to see what each
option mean): 
-->
ldapsearch を起動する書式は次のとおりです(各オプションの意味は
ldapsearch の man ページを見てください)。
<!-- [orig]
<tscreen><verb>
ldapsearch  &lsqb;-n&rsqb;  &lsqb;-u&rsqb;  &lsqb;-v&rsqb;  &lsqb;-k&rsqb;  &lsqb;-K&rsqb;  &lsqb;-t&rsqb;
&lsqb;-A&rsqb; &lsqb;-B&rsqb; &lsqb;-L&rsqb; &lsqb;-R&rsqb; &lsqb;-d debuglevel&rsqb; &lsqb;-F sep&rsqb;
&lsqb;-f file&rsqb; 
&lsqb;-D binddn&rsqb;  &lsqb;-W&rsqb;  &lsqb;-w bindpasswd&rsqb;  &lsqb;-h ldaphost&rsqb;  &lsqb;-p
ldapport&rsqb;   &lsqb;-b searchbase&rsqb;   &lsqb;-s base&verbar;one&verbar;sub&rsqb; 
&lsqb;-a never&verbar;always&verbar;search&verbar;find&rsqb; &lsqb;-l timelimit&rsqb; &lsqb;-z sizelimit&rsqb;
filter &lsqb;attrs...&rsqb; 
</verb></tscreen>
-->
<tscreen><verb>
ldapsearch  [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel]
    [-F sep] [-f file] [-D binddn] [-W] [-w bindpasswd] [-h ldaphost]
    [-p ldapport] [-b searchbase] [-s base|one|sub]
    [-a never|always|search|find] [-l timelimit] [-z sizelimit]
    filter [attrs...]
</verb></tscreen>
<p>
<!-- [orig]
ldapsearch opens a connection to an LDAP server, binds, and performs a search using the filter filter. The
filter should conform to the string representation for LDAP filters as
defined in RFC 1558. If ldapsearch finds one or more entries, the attributes specified by attrs are retrieved
and the entries and values are printed to standard output. If no attrs
are listed, all attributes are returned. 
-->
ldapsearch は LDAP サーバに対してコネクションを張り、バインドした後、
フィルタ filter を用いて検索します。この filter は、RFC 1558 に定義
されている LDAP フィルタの文字列表現に従わねばなりません。ldapsearch が
１個以上のエントリを見つけると、attrs に指定した属性が取り出され、
そのエントリと値が標準出力に印字されます。attrs の指定がなければ、
全属性が返されます。
<p>
<!--
Here are some examples of use of ldapsearch:
-->
次に ldapsearch の利用例をいくつか示します。
<tscreen><verb>
ldapsearch -b 'o=TUDelft,c=NL' 'objectclass=*' 

ldapsearch -b 'o=TUDelft,c=NL' 'cn=Rene van Leuken' 

ldasearch -u -b 'o=TUDelft,c=NL' 'cn=Luiz Malere' sn mail 
</verb></tscreen>
<p>
<!-- [orig]
The -b option stands for searchbase (initial search point) and the -u option stands for userfriendly output
information. 
-->
オプション -b は検索ベース(先頭の検索ポイント)を指定し、-u オプションは
ユーザフレンドリ形式を出力に含めることを指定します。
<p>
<!-- [orig]
ldapdelete - ldapdelete is a shell accessible interface to the ldap_delete(3) library call. Use this utility
to delete entries on our LDAP databse backend. 
-->
ldapdelete - ldapdelete は、ldap_delete(3) ライブラルコールに対応する
コマンドラインインタフェースです。このユーティリティは、LDAP データ
ベースバックエンド中のエントリを削除するために使います。
<p>
<!-- [orig]
The synopsis to call ldapdelete is the following (take a look at the ldapdelete man page to see what each
option mean): 
-->
ldapdelete を起動する書式は次のとおりです(各オプションの意味は
ldapdelete の man ページを見てください)。
<!-- [orig]
<tscreen><verb>
ldapdelete   &lsqb;-n&rsqb;   &lsqb;-v&rsqb;  &lsqb;-k&rsqb;  &lsqb;-K&rsqb;  &lsqb;-c&rsqb;  &lsqb;-d
debuglevel&rsqb;  &lsqb;-f file&rsqb;  &lsqb;-D binddn&rsqb;  &lsqb;-W&rsqb;  &lsqb;-w passwd&rsqb; 
&lsqb;-h ldaphost&rsqb; &lsqb;-p ldapport&rsqb; &lsqb;dn&rsqb;... 
</verb></tscreen>
-->
<tscreen><verb>
ldapdelete  [-n] [-v] [-k] [-K] [-c] [-d debuglevel] [-f file] [-D binddn]
    [-W] [-w passwd] [-h ldaphost] [-p ldapport] [dn]... 
</verb></tscreen>
<p>
<!-- [orig]
ldapdelete opens a connection to an LDAP server, binds, and deletes one or more entries. If one or more dn
arguments are provided, entries with those Distinguished Names are
deleted. Each dn should be a string-represented DN as defined in RFC 1779. If no dn arguments are provided, a
list of DNs is read from standard input (or from file if the -f flag is
used). 
-->
ldapdelete は LDAP サーバに対してコネクションを張り、バインドした後、
１個以上のエントリを削除します。１個以上の dn 引数が与えられていれば、
その識別名を持つエントリが削除されます。個々の dn は、RFC 1779 に定義
されている文字列表現の DN でなければなりません。引数 dn が与えられて
いなければ、標準入力(あるいは -f フラグで指定したファイル file)から
DN のリストを読み込みます。
<p>
<!-- [orig]
Here are some examples of use of ldapdelete: 
-->
次に ldapdelete の利用例をいくつか示します。
<tscreen><verb>
ldapdelete 'cn=Luiz Malere,o=TUDelft,c=NL' 

ldapdelete -v 'cn=Rene van Leuken,o=TUDelft,c=NL' -D 'cn=Luiz Malere,o=TUDelft,c=NL' -W 
</verb></tscreen>
<p>
<!-- [orig]
The -v option stands for verbose mode, the -D option stands for Binddn (the dn to authenticate against) and
the -W option stands for password prompt. 
-->
オプション -v は冗長モードにすることを指定し、-D オプションはバインド
する dn (認証の対象となる dn)を指定し、-W オプションはパスワードの
入力を要求することを指定します。
<p>
<!-- [orig]
ldapmodify - ldapmodify is a shell accessible interface to the ldap_modify(3) and ldap_add(3) library calls.
Use this utility to modify entries on our LDAP databse backend. 
-->
ldapmodify - ldapmodify は、ldap_modify(3) と ldap_add(3) のライブラリ
コールに対応するコマンドラインインタフェースです。このユーティリティは、
LDAP データベースバックエンド中のエントリを更新するために使います。
<p>
<!-- [orig]
The synopsis to call ldapmodify is the following (take a look at the ldapmodify man page to see what each
option mean): 
-->
ldapmodify を起動する書式は次のとおりです(各オプションの意味は
ldapmodify の man ページを見てください)。
<!-- [orig]
<tscreen><verb>
ldapmodify   &lsqb;-a&rsqb;  &lsqb;-b&rsqb;  &lsqb;-c&rsqb;  &lsqb;-r&rsqb;  &lsqb;-n&rsqb;  &lsqb;-v&rsqb;
&lsqb;-k&rsqb;  &lsqb;-d debuglevel&rsqb;  &lsqb;-D binddn&rsqb;  &lsqb;-W&rsqb;  &lsqb;-w passwd&rsqb; 
&lsqb;-h ldaphost&rsqb; &lsqb;-p ldapport&rsqb; &lsqb;-f file&rsqb; 

ldapadd &lsqb;-b&rsqb; &lsqb;-c&rsqb; &lsqb;-r&rsqb; &lsqb;-n&rsqb; &lsqb;-v&rsqb;  &lsqb;-k&rsqb;
&lsqb;-K&rsqb;  &lsqb;-d debuglevel&rsqb;  &lsqb;-D binddn&rsqb;  &lsqb;-w passwd&rsqb;  &lsqb;-h
ldaphost&rsqb; 
&lsqb;-p ldapport&rsqb; &lsqb;-f file&rsqb; 
</verb></tscreen>
-->
<tscreen><verb>
ldapmodify  [-a] [-b] [-c] [-r] [-n] [-v] [-k] [-d debuglevel] [-D binddn]
    [-W] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] 

ldapadd  [-b] [-c] [-r] [-n] [-v] [-k] [-K] [-d debuglevel] [-D binddn]
    [-w passwd] [-h ldaphost] [-p ldapport] [-f file] 
</verb></tscreen>
<p>
<!-- [orig]
ldapadd is implemented as a hard link to the ldapmodify tool.  When invoked as ldapadd the -a  (add  new
entry) flag of ldapmodify is turned on automatically. 
ldapmodify  opens  a  connection  to  an  LDAP server, binds, and modifies or adds entries.  The entry
information is read from standard input or from file through the use of the -f
option. 
-->
ldapadd は、ldapmodify ツールへのハードリンクになっています。ldapadd と
して起動されると、フラグ -a (新しいエントリの追加)が暗黙に指定されたもの
とみなします。ldapmodify は LDAP サーバへに対してコネクションを張り、
バインドした後、エントリを更新/追加します。エントリ情報は標準入力
あるいは -f オプションで指定したファイル file から読み込まれます。
<p>
<!-- [orig]
Here are some examples of use of ldapmodify: 
-->
次に ldapmodify の利用例をいくつか示します。
<p>
<!-- [orig]
Assuming that the file /tmp/entrymods exists and has the contents: 
-->
ファイル /tmp/entrymods があり、その内容は次のようになっているとします。
<tscreen><verb>
dn: cn=Modify Me, o=University of Michigan, c=US 
changetype: modify 
replace: mail 
mail: modme@terminator.rs.itd.umich.edu 
- 
add: title 
title: Grand Poobah 
- 
add: jpegPhoto 
jpegPhoto: /tmp/modme.jpeg 
- 
delete: description 
- 
</verb></tscreen>
<p>
<!-- [orig]
The command: 
-->
次のコマンドを実行します。
<tscreen><verb>
ldapmodify -b -r -f /tmp/entrymods 
</verb></tscreen>
<p>
<!-- [orig]
will  replace  the  contents  of the "Modify Me" entry's mail attribute with the value
"modme@terminator.rs.itd.umich.edu", add a title of "Grand Poobah", and the contents of the file
/tmp/modme.jpeg as a jpegPhoto, and completely remove the description attribute. 
-->
これにより、エントリ "Modify Me" の mail 属性の内容を値
"modme@terminator.rs.itd.umich.edu" で置換し、
"Grand Poobah" の title を追加して、ファイル "/tmp/modme.jpeg" の内容を
jpegPhoto として追加して、description 属性を完全に除去します。
<p>
<!-- [orig]
The same modifications as above can be performed using the older ldapmodify input format: 
-->
次の古い ldapmodify 入力フォーマットを用いても、上と同じ更新が行えます。
<tscreen><verb>
cn=Modify Me, o=University of Michigan, c=US 
mail=modme@terminator.rs.itd.umich.edu 
+title=Grand Poobah 
+jpegPhoto=/tmp/modme.jpeg 
-description 
</verb></tscreen>
<p>
<!-- [orig]
And plus the command bellow: 
-->
この場合も同様に ldapmodify を起動します。
<tscreen><verb>
ldapmodify -b -r -f /tmp/entrymods 
</verb></tscreen>
<p>
<!-- [orig]
Assuming that the file /tmp/newentry exists and has the contents: 
-->
ファイル /tmp/newentry があり、その内容は次のようになっているとします。
<tscreen><verb>
dn: cn=Barbara Jensen, o=University of Michigan, c=US 
objectClass: person 
cn: Barbara Jensen 
cn: Babs Jensen 
sn: Jensen 
title: the world's most famous manager 
mail: bjensen@terminator.rs.itd.umich.edu 
uid: bjensen 
</verb></tscreen>
<p>
<!-- [orig]
The command: 
-->
次のコマンドを実行します。
<tscreen><verb>
ldapadd -f /tmp/entrymods 
</verb></tscreen>
<p>
<!-- [orig]
Assuming that the file /tmp/newentry exists and has the contents: 
-->
ファイル /tmp/newentry があり、その内容は次のようになっているとします。
<tscreen><verb>
dn: cn=Barbara Jensen, o=University of Michigan, c=US 
changetype: delete 
</verb></tscreen>
<p>
<!-- [orig]
The command: 
-->
次のコマンドを実行します。
<tscreen><verb>
ldapmodify -f /tmp/entrymods 
</verb></tscreen>
<p>
<!-- [orig]
will remove Babs Jensen's entry. 
-->
これは、Babs Jensen のエントリを除去します。
<p>
<!-- [orig]
The -f option stands for file (read the modification information from a file instead of standard input), the
-b option stands for binary (any values starting with a '/' on the input file
are interpreted as binaries), the -r stands for replace (replace existing values by default). 
-->
オプション -f は(標準入力の代わりに更新情報を読み込む)
ファイルを指定し、-b オプションはバイナリを指定し
(入力ファイル中で '/' で始まる値はバイナリであると
解釈される)、-r は更新(デフォルトで既存の値を更新)を指定します。

<!-- [orig]
<sect>Additional Information and Features
-->
<sect>追加情報と補足
<p>
<!-- [orig]
In this section you will find information about the Netscape Address Book, a LDAP client that can be used to
query your Directory. Also presented are details on how to implement Roaming Access using the Netscape
Navigator, version 4.5 or above and your LDAP server. There has been a lot of talk on the OpenLDAP mailing
lists about Roaming Access, since this is a feature that is not totally implemented. Most of the people don't
like the way Netscape Navigator operates with the LDAP server while making downloads and uploads to it. So, if
after reading this you find that the Roaming Access is not working the way you would like, nevermind. A lot of
people passed through this situation already. The purpose of introducing this feature here is more for giving
people an idea about the capabilities of the LDAP protocol. To finish you will see some information about
safely killing the slapd process and about slapd logs.
-->
この節には、ディレクトリへの問合せに使える Netscape のアドレス帳
(Address Book)についての情報があります。また、バージョン 4.5 以上の
Netscape Navigator と LDAP サーバを使ってローミングアクセスを実現する
方法について詳しく説明します。OpenLDAP のメーリングリストでは、
ローミングアクセスについて多くの議論がありました。それはこの機能が
うまく実現できないためです。大部分の人々は Netscape Navigator が
ダウンロードとアップロードするのに LDAP サーバを使うのを好みません。
したがって、これを読んでローミングアクセスが思うように動作しないという
ことがわかっても気にしないでください。多くの人々が既にこの状況を経験
しているのです。ここでこの機能を紹介する目的は、LDAP プロトコルの
可能性についてのアイデアを人々により多く与えるためです。最後には、
slapd プロセスを安全に中断する方法や slapd のログについての情報が
あります。

<!-- [orig]
<sect1>Roaming Access
-->
<sect1>ローミングアクセス
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この節の説明は基本的に OpenLDAP 1.2.x に基づいています。
OpenLDAP 2.0.x では属性やオブジェクトクラスの拡張方法などが変更になっています。
<p>
<!-- [orig]
The goal of Roaming Access is that wherever you are on the Net, you can retrieve your bookmarks, preferences,
mail filters, etc. using Netscape Navigator and a LDAP server.  This is a very nice feature. Imagine that
wherever you access the Web, you can have your own settings on the browser. If you will travel and you need to
access that currency site that is stored on your local bookmarks, don't worry. Upload the bookmarks and other
configuration files to a LDAP server and you can retrieve them all later, independent of the place you will
be.
-->
ローミングアクセスの目的は、ネット上のどこにいても Netscape Navigator と
LDAP サーバを用いて、ブックマーク、設定、メールフィルタなどを取り出せる
ようにすることです。これは非常に便利な機能です。あなたがどこで Web に
アクセスしようとも、そこで使うブラウザにはあなた自身の設定があるのです。
もしあなたが旅行に出た先で、あなたのローカルブックマークに登録してある
相場のサイトにアクセスしたい場合も心配ありません。ブックマークや設定
ファイルは LDAP サーバにアップロードされ、後であなたがどこにいようとも
ブックマークや設定ファイルをすべて取り出せます。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
残念ながら Netscape 6 ではローミングアクセス機能が無くなりました。
<p>
<!-- [orig]
To implement Roaming Access you have to follow these steps: 
-->
ローミングアクセスを実現するには次のステップに従う必要があります。
<!-- [orig]
<itemize>
<item>Change your attributes description file 
<item>Change your objectclass description file 
<item>Change the LDIF file to include profiles 
<item>Configure Netscape Navigator to use the LDAP server as a Roaming Access Server 
<item>Restart the LDAP server with the new settings. 
</itemize>
-->
<enum>
<item>属性記述ファイルを変更する
<item>オブジェクトクラス記述ファイルを変更する
<item>プロファイルを格納するための LDIF ファイルを作成する
<item>ローミングアクセスサーバとして LDAP サーバを使うように
Netscape Navigator を設定する
<item>新しい設定で LDAP サーバを再起動する
</enum>
<!-- [orig]
<p>
- Changing the attributes file: 
You need to add new attributes on the attribute list present on the file slapd.at.conf (this is a file you
include on your slapd.conf and it's normally located at /usr/local/etc/openldap): 
-->
<sect2>属性ファイルの変更
<p>
slapd.at.conf (これは slapd.conf に取り込まれるファイルで、
通常 /usr/local/etc/openldap にあります)に与えられている属性の一覧に
次の新しい属性を追加する必要があります。
<!-- [orig]
<tscreen><verb>
attribute       nsLIPtrURL              ces 
attribute       nsLIPrefs               ces 
attribute       nsLIProfileName         cis 
attribute       nsLIData                bin 
attribute       nsLIElementType         cis 
attribute       nsLIServerType          cis 
attribute       nsLIVersion             cis 
</verb></tscreen>
-->
<!--??? [執筆者に確認]
  Netscape の解説によれば

    attribute nsServerPort cis

  も必要
-->
<tscreen><verb>
attribute       nsLIPtrURL              ces 
attribute       nsLIPrefs               ces 
attribute       nsLIProfileName         cis 
attribute       nsLIData                bin 
attribute       nsLIElementType         cis 
attribute       nsLIServerType          cis 
attribute       nsLIVersion             cis 
attribute       nsServerPort            cis
</verb></tscreen>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
OpenLDAP 2.0.x の場合、/usr/local/etc/openldap/schema/ に適当な
ファイルを用意して次の定義を追加し、それを slapd.conf に取り込む
ようにします。
<tscreen><verb>
attributetype ( 2.16.840.1.113730.3.1.70
        NAME 'serverRoot'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 2.16.840.1.113730.3.1.76
        NAME 'serverHostName'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 2.16.840.1.113730.3.1.280
        NAME 'nsServerPort'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 2.16.840.1.113730.3.1.399
        NAME 'nsLIPtrURL'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 2.16.840.1.113730.3.1.400
        NAME 'nsLIPrefs'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 2.16.840.1.113730.3.1.401
        NAME 'nsLIProfileName'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 2.16.840.1.113730.3.1.402
        NAME 'nsLIData'
        EQUALITY bitStringMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )

attributetype ( 2.16.840.1.113730.3.1.403
        NAME 'nsLIElementType'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 2.16.840.1.113730.3.1.404
        NAME 'nsLIServerType'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 2.16.840.1.113730.3.1.405
        NAME 'nsLIVersion'
        EQUALITY integerMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
</verb></tscreen>

<!-- [orig]
<p>
- Changing the objectclass file: 
You also have to add some new classes to your slapd.oc.conf (this is another file you include on your
slapd.conf and it's normally located at /usr/local/etc/openldap) in order to enable Roaming Access: 
-->
<sect2>オブジェクトクラスファイルの変更
<p>
slapd.oc.conf (これは slapd.conf に取り込まれるファイルで、
普通 /usr/local/etc/openldap にあります)に
次の新しいクラスを追加する必要があります。
<!-- [orig]
<tscreen><verb>
objectclass nsLIPtr 
requires 
        objectclass 
allows 
        nsliptrurl, 
        owner 

objectclass nsLIProfile 
requires 
        objectclass, 
        nsliprofilename 
allows 
        nsliprefs, 
        uid, 
        owner 

objectclass nsLIProfileElement 
requires 
        objectclass, 
        nslielementtype 
allows 
        owner, 
        nslidata, 
        nsliversion 

objectclass nsLIServer 
requires 
        objectclass, 
        serverhostname 
allows 
        description, 
        cn, 
        nsserverport, 
        nsliservertype, 
        serverroot 
</verb></tscreen>
-->
<!--??? [誤り]
  require と allow をインデントする必要がある。
-->
<tscreen><verb>
objectclass nsLIPtr 
    requires 
        objectclass 
    allows 
        nsliptrurl, 
        owner 

objectclass nsLIProfile 
    requires 
        objectclass, 
        nsliprofilename 
    allows 
        nsliprefs, 
        uid, 
        owner 

objectclass nsLIProfileElement 
    requires 
        objectclass, 
        nslielementtype 
    allows 
        owner, 
        nslidata, 
        nsliversion 

objectclass nsLIServer 
    requires 
        objectclass, 
        serverhostname 
    allows 
        description, 
        cn, 
        nsserverport, 
        nsliservertype, 
        serverroot 
</verb></tscreen>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
OpenLDAP 2.0.x の場合、/usr/local/etc/openldap/schema/ に適当な
ファイルを用意して次の定義を追加し、それを slapd.conf に取り込む
ようにします。
<tscreen><verb>
objectclass ( 2.16.840.1.113730.3.2.74
        NAME 'nsLIPtr'
        SUP top
        MUST objectClass
        MAY ( nsLIPtrURL $ owner ) )

objectclass ( 2.16.840.1.113730.3.2.75
        NAME 'nsLIProfile'
        SUP top
        MUST ( objectClass $ nsLIProfileName )
        MAY ( nsLIPrefs $ uid $ owner ) )

objectclass ( 2.16.840.1.113730.3.2.76
        NAME 'nsLIProfileElement'
        SUP top
        MUST ( objectClass $ nsLIElementType )
        MAY ( owner $ nsLIData $ nsLIVersion ) )

objectclass ( 2.16.840.1.113730.3.2.77
        NAME 'nsLIServer'
        SUP top
        MUST ( objectClass $ serverHostName )
        MAY ( cn $ description $ nsLIServerType $
              nsServerPort $ serverRoot ) )
</verb></tscreen>

<!-- [orig]
- Changing the LDIF file: 
Now you have to modify your LDIF file, adding profiles entries to each user that wish to try the Roaming
Access feature of Netscape. Look an example of a simple LDIF file with profiles entries: 
-->
<sect2>LDIF ファイルの作成
<!--??? [執筆者に確認]
  LDIF の作成の前に slapd.conf の設定が必要なはず。
  まず、

    lastmod on

  にして運用属性 modifyTimestamp が維持されるようにしなければならない。
  さらに、次のアクセス権を設定する必要がある。

    access to dn=".*,ou=Roaming,o=myOrg,c=NL" by dnattr=owner write
    access to attr=userpassword by * none by self write

  以上を設定したら、slapd を再起動しておく。
-->
<p>
<bf>&lsqb;訳注&rsqb;</bf>
このステップに入る前に slapd.conf の設定をしておきましょう。
まず OpenLDAP 1.2.x の場合 `lastmod on' にして運用属性
modifyTimestamp が自動的に管理されるようにしなければなりません。
さらに、次のアクセス権を設定して slapd を再起動してください。
<verb>
  OpenLDAP 1.2.x の場合：
    access to dn=".*,ou=Roaming,o=myOrg,c=NL" by dnattr=owner write
    access to attr=userpassword by * none by self write

  OpenLDAP 2.0.x の場合：
    access to dn=".*,ou=Roaming,o=myOrg,c=NL"
        by dnattr=owner write
    access to attr=userpassword
        by self write
        by anonymous auth
        by dn="cn=Manager,o=myOrg,c=NL" write
        by * none
    access to *
        by self write
        by anonymous auth
</verb>
<p>
次に LDIF ファイルを作成する必要があります。Netscape のローミンング
アクセス機能を使ってみたい各ユーザ用に、プロファイルエントリを追加
します。以下に、プロファイルエントリを持つ LDIF ファイルの簡単な例を
示します。
<!-- [orig]
<tscreen><verb>
dn: o=myOrg,c=NL 
o: myOrg 
objectclass: organization 

dn: cn=seallers,ou=People,o=myOrg,c=NL 
cn: seallers 
userpassword: myPassword 
objectclass: top 
objectclass: person 

dn: nsLIProfileName=seallers,ou=Roaming,o=myOrg,c=NL 
changetype: add 
objectclass: top 
owner: cn=seallers,ou=People,o=myOrg,c=NL 
objectclass: top 
objectclass: nsLIProfile 
</verb></tscreen>
-->
<!--??? [誤り]
  ou=People と ou=Roaming のエントリがない
  person の必要属性 sn がない
  nsLIProfile の必要属性 nsLIProfileName がない
-->
<!--??? [執筆者に確認]
  LDIF ファイルを作成するだけではなくて、これを実際に ldapadd
  あるいは ldif2ldbm を使ってディレクトリに格納しなければならない
-->
<tscreen><verb>
dn: o=myOrg,c=NL
objectClass: top
objectClass: organization
o: myOrg

dn: ou=People,o=myOrg,c=NL
objectClass: top
objectClass: organizationalUnit
ou: People

dn: cn=seallers,ou=People,o=myOrg,c=NL
userPassword: myPassword
objectClass: top
objectClass: person
cn: seallers
sn: seallers

dn: ou=Roaming,o=myOrg,c=NL
objectClass: top
objectClass: organizationalUnit
ou: Roaming

dn: nsLIProfileName=seallers,ou=Roaming,o=myOrg,c=NL
objectClass: top 
objectClass: nsLIProfile 
nsLIProfileName: seallers
owner: cn=seallers,ou=People,o=myOrg,c=NL
</verb></tscreen>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
もちろん、LDIF ファイルを作成するだけではなくて、これを実際に
ldapadd などを使ってディレクトリに格納してください。
<!-- [orig]
The next step is to configure Netscape to enable the Roaming Access against your LDAP server. Just follow the
sequence: 
-->
<sect2>Netscape Navigator の設定
<p>
次のステップは、LDAP サーバに対してローミングアクセスが可能となるように
Netscape Navigator を設定することです。
<p>
<!-- [orig]
- Go to Menu Edit -&gt; Preferences -&gt; Roaming User 
-->
<itemize>
<item>メニュー「編集」→「設定」→「ローミング ユーザ」を選択します。
</itemize>
<p>
<!-- [orig]
Now you have to first enable Roaming Access for this profile, clicking on the checkbox corresponding to this
option. 
-->
まず、このプロファイルでローミングアクセスを可能にしなければなりません。
当該のチェックボックスをクリックします。
<p>
<!-- [orig]
- Fill the username box with an appropriate value, for instance john 
-->
<!--??? [執筆者に相談]
 ここまでの過程からすると、入力例は `seallers' のほうがよいだろう
-->
<itemize>
<item>ユーザ名のボックスに適切な値、たとえば seallers を入力します。
</itemize>
<p>
<!-- [orig]
Pull down the arrow of the Roaming User option on the left side of the Preferences Window to see the
suboptions of Roaming Access.
-->
「設定」ウィンドウの左側にある「ローミング ユーザ」オプションの矢印を
プルダウンして、ローミングアクセスのサブオプションを表示します。
<p>
<!-- [orig]
- Click on Server Information and enable the option LDAP Server and fill the boxes with the following
information: 
-->
<itemize>
<item>「サーバ情報」をクリックして「LDAP ディレクトリ サーバ」オプションを
有効にし、ボックスに次のような情報を入力します。
<p>
<!-- [orig]
Address: ldap://myHost/nsLIProfileName=$USERID,ou=Roaming,o=myOrg,c=NL 
<p>
User DN: cn=$USERID,ou=People,o=myOrg,c=NL 
-->
<tscreen><verb>
Address: ldap://myHost/nsLIProfileName=$USERID,ou=Roaming,o=myOrg,c=NL 

User DN: cn=$USERID,ou=People,o=myOrg,c=NL 
</verb></tscreen>
</itemize>
<p>
<!-- [orig]
IMPORTANT: Netscape automatically substitutes the $USERID variable for the name of the profile you selected
before running the browser. So if you selected the profile seallers, it will substitute $USERID for seallers,
if you selected profile gonzales, it will substitute $USERID for gonzales. If you are not familiar with
profiles, run the Profile Manager application that comes on the Netscape Comunicator package. It's an
application designed to satisfy the multiple users of a browser on the same machine, so each one can have
their own settings on the browser. 
-->
<!--??? [執筆者に確認]
  $USERID は ローミング ユーザの設定で入力したユーザ名で置き換わるのでは？
-->
重要：Netscape は、ブラウザを実行する前に、あなたが選択した
プロファイルの名前で $USERID を自動的に置き換えます。したがって、
あなたがプロファイル seallers を選択していれば $USERID は seallers
に置き換わり、プロファイル gonzales を選択していれば $USERID は
gonzales に置き換わります。プロファイルについてよく知らなければ、
Netscape Communicator パッケージについてくる Profile Manager
アプリケーションを起動してください。これは、同じマシン上で複数
ユーザが安全にブラウザを扱えるよう設計されたアプリケーションであり、
個々のユーザが自分だけのブラウザ設定を保有できます。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
訳者が確認したところでは、$USERID は ローミング ユーザの設定で入力した
ユーザ名で置き換わるようです。
<p>
<!-- [orig]
The final step is to restart the server. Take a look on the <ref id="4.2" name="section 4.2"> to see how you
do that safely and on <ref id="4" name="section 4"> to see how to start it again.
-->
<!--??? [執筆者に確認]
  なぜにここで再起動する？
-->
<sect2>LDAP サーバの再起動
<p>
最終ステップは、サーバの再起動です。LDAP サーバを安全に終了させる
方法については <ref id="4.2" name="LDAP サーバを終了する方法">、
再び起動する方法については<ref id="4" name="LDAP サーバの実行">を
参照してください。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
訳者が確認したところでは、ここで再起動する必要があるのは LDAP サーバ
ではなくて Netscape です。

<!-- [orig]
<sect1>Netscape Address Book
-->
<sect1>Netscape のアドレス帳
<p>
<!-- [orig]
Once you have your LDAP server up and running, you can access it with many different clients (e.g. ldapsearch
command line utility). A very interesting one is the Netscape Address Book. It's available from version 4.x of
Netscape but you have to use the 4.5 or above version for a stable interoperation with your LDAP server.
-->
LDAP サーバが実行していれば、いろいろなクライアント(たとえば ldapsearch
コマンドラインユーティリティ)で LDAP サーバにアクセスできます。非常に
興味深いクライアントに Netscape のアドレス帳があります。これは Netscape
のバージョン 4.x から利用できるようになっていますが、LDAP サーバと安全に
やりとりするためには 4.5 以上のものを使う必要があります。
<p>
<bf>&lsqb;訳注&rsqb;</bf>
残念ながら Netscape 6 では LDAP サーバへのアクセス機能が無くなりました。
<p>
<!-- [orig]
Just follow the sequence: 
-->
アドレス帳を使えるようにするには次のようにしてください。
<p>
<!-- [orig]
Open Netscape Navigator -&gt; Go to Communicator Menu -&gt; Address Book 
-->
Netscape Navigator の起動 -&gt; Communicator メニューの選択 -&gt;
アドレス帳(Address Book)
<p>
<!-- [orig]
The Netscape Address Book will be launched with some default LDAP directories. You have to add your own LDAP
directory too! 
-->
Netscape のアドレス帳には、デフォルトの LDAP ディレクトリが既にいくつか
登録されています。あなたの LDAP ディレクトリも登録する必要があります！
<p>
<!--
Go to File Menu -&gt; New Directory 
-->
ファイル(File)メニューの選択 -&gt; 新しいディレクトリ(New Directory)
<p>
<!-- [orig]
Fill the boxes with your server information. For example: 
-->
あなたのサーバの情報を入力します。たとえば次のように設定します。
<p>
<!-- [orig]
- Description: TUDelft 

- LDAP Server: dutedin.et.tudelft.nl 

- Server Root: o=TUDelft, c=NL 
-->
<itemize>
<item>Description : TUDelft 
<item>LDAP Server : dutedin.et.tudelft.nl 
<item>Server Root : o=TUDelft, c=NL 
</itemize>
<p>
<!-- [orig]
The default LDAP port is 389. Don't change it, unless you changed this option while building your server. 
-->
デフォルトの LDAP ポートは 389 であり、サーバ側でこのオプションを
変更しているのでない限りポートを変更しないでください。
<p>
<!-- [orig]
Now, make simple queries to your server, using the box Show Names Containing, or advanced queries, using the
Search for button.
-->
これで、ボックス Show Names Containing を使ってあなたのサーバに簡単な
問合せができますし、Search ボタンで複雑な問合せもできるようになっています。

<sect1>LDAP Migration Tools
<p>
<!-- [orig]
The LDAP Migration Tools are a collection of Perl scripts used to convert configuration files to the LDIF
format. The scripts are provided by PADL Software Ltd. I recommend you to take a look at the license terms
before using them, even being free. If you plan to use your LDAP server to authenticate users, this tools may
be very useful. Use the Migration Tools to convert your NIS or password archives to the LDIF format, making
these files compatible with your LDAP Server. Apply also these Perl Scripts to migrate users, groups, aliases,
hosts, netgroups, networks, protocols, RPCs and services from existing nameservices (NIS, flat files and
NetInfo) to the LDIF format.
To download the LDAP Migration Tools and get more information, go to the following address:
-->
<!--??? [執筆者に相談]
  `configuration files' じゃあ何のことだかわからない
-->
LDAP Migration Tools は、設定ファイル(configuration files)を LDIF
フォーマットに変換する Perl スクリプト集です。このスクリプト集は
PADL Software Ltd によって提供されていて、利用する前にライセンス条項
に目をとおしておくことを勧めますが、とにかくフリーです。ユーザの認証に
LDAP サーバを利用しようとしているなら、このツールは非常に有用です。
Migration Tools は、NIS やパスワードのアーカイブを LDIF に変換し、
それらのファイルと互換のある情報を LDAP サーバで使えるようにします。
また、ユーザ、グループ、hosts, aliases, netgroups, networks, protocols,
RPC そして既存のネームサービス(NIS、フラットファイル、NetInfo)の
サービスを LDIF フォーマットに移行するのにも、この Perl スクリプト集を
適用してください。LDAP Migration Tools のダウンロードとさらなる情報を
入手するには、次のアドレスに行ってください。

<p>
<tscreen><htmlurl url="http://www.padl.com/tools.html" name="http://www.padl.com/tools.html"></tscreen>

<p>
<!-- [orig]
The package comes with a README file and the name of the script files are intuitive. Take a first look on the
README file and then start applying the scripts.
-->
このパッケージには README ファイルが付いていて、スクリプトファイルの
名前は機能を表しています。まずは README ファイルに目をとおして、
その後にスクリプトの適用を開始してください。

<!-- [orig]
<sect1>Authentication using LDAP
-->
<sect1>LDAP を用いた認証
<p>
<!-- [orig]
Your LDAP server can authenticate users using a mechanism called PAM (Pluggable Authentication Modules). Since
the beginnings of UNIX, authenticating a user has been accomplished via the user entering a password and the
system checking if the entered password corresponds to the encrypted official password that is stored in
/etc/passwd.
-->
PAM (Pluggable Authentication Modules)という機構を用いて、LDAP は
ユーザを認証できます。UNIX が登場した当時からユーザの認証は、
ユーザがパスワードを入力し、その入力されたパスワードが /etc/passwd に
格納されている暗号化された正式なパスワードに該当するかをシステムが
検査することにより行われてきました。

<p>
<!-- [orig]
That was in the beginning. Since then, a number of new ways for authenticating users became popular, including
more complicated replacements for the /etc/passwd file and hardware devices called Smart cards. The problem is
that each time a new authentication schema is developed, it requires all the necessary programs (login, ftpd
etc...) to be rewritten to support it. PAM provides a way to develop programs that are independent of
authentication scheme. These programs need "authentication modules" to be attatched to them at run-time in
order to work. 
-->
<!--??? [誤字]
 `attatched' は `attached' の間違いであろう
-->
これは初期のことであり、その後、多くのユーザの認証が一般的になりました。
その中には /etc/passwd をより複雑にしたものや、スマートカードという
ハードウェアデバイスもありました。このような認証の問題は、新しい認証方式
が開発されるたびに、その新しい認証方法をサポートするために認証が必要な
プログラム(login, ftpd など)のすべてを書き換えなければならないことです。
PAM は、認証方式から独立してプログラムを開発する手段を提供します。この
ようなプログラムは、実行時に認証を行うために接続する「認証モジュール」
を必要とします。

<p>
<!-- [orig]
The authentication module for LDAP is available as a tar ball on the following address:
-->
LDAP のための認証モジュールは次のアドレスから tar ball の形式で
入手できます。

<p>
<tscreen><htmlurl url="http://www.padl.com/pam_ldap.html" name="http://www.padl.com/pam_ldap.html"></tscreen>

<p>
<!-- [orig]
Here I assume that your Linux distribution is already PAM prepared. If not take a look at this URL: <url url="
http://www.kernel.org/pub/linux/libs/pam" name="http://www.kernel.org/pub/linux/libs/pam">. Various Linux
distributions use different standard settings related to PAM. Usually, the PAM configuration files reside on
the <tt>/etc/pam.d/</tt> directory. There you can find a file for each service running on your box. As an
example, if you want to use the LDAP server for logging users in after your Linux boot up, you should make
your Linux PAM compatible (as described in the beginning of this paragraph), install the LDAP PAM module and
edit a file called login in the PAM configuration directory (/etc/pam.d/) with the following content:
-->
ここでは、既に Linux ディストリビューションに PAM が用意されているもの
とします。もし PAM が用意されていなければ
<htmlurl url="http://www.kernel.org/pub/linux/libs/pam"
 name="http://www.kernel.org/pub/linux/libs/pam"> を参照してください。
実際のところ、さまざまな Linux ディストリビューションでの PAM の
標準設定はそれぞれ違っています。普通、PAM の設定ファイルは
<tt>/etc/pam.d/</tt> ディレクトリに存在します。このディレクトリには、
マシンで実行する各サービスごとに一つのファイルがあります。
たとえば、Linux のブートアップの後でユーザのログイン処理に LDAP サーバを
使いたいなら、(この段落の最初に説明してあるように)あなたの Linux で
PAM を使えるようにし、LDAP PAM モジュールをインストールし、/etc/pam.d/
ディレクトリにある login という PAM 設定ファイルを編集して次のような
内容にします。

<tscreen><verb>
#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
auth       required     /lib/security/pam_nologin.so
auth       sufficient   /lib/security/pam_ldap.so
auth       required     /lib/security/pam_unix_auth.so try_first_pass
account    sufficient   /lib/security/pam_ldap.so
account    required     /lib/security/pam_unix_acct.so
password   required     /lib/security/pam_cracklib.so
password   required     /lib/security/pam_ldap.so
password   required     /lib/security/pam_pwdb.so use_first_pass
session    required     /lib/security/pam_unix_session.so
</verb></tscreen>
<!--??? [執筆者に相談]
  LDAP サーバに入れる情報の説明が何もない。

  また、pam_ldap は認証を行うだけなので、uid, gid, ホームディレクトリ
  などの読出しも LDAP からできるように nss_ldap を使うようにする。
-->
<p>
<bf>&lsqb;訳注&rsqb;</bf>
pam_ldap は認証を行うだけなので、uid, gid, ホームディレクトリなどの
読出しも LDAP でできるように NSS (Name Service Switch)のモジュール
nss_ldap をインストールしておく必要があるでしょう。nss_ldap も PADL
Software の Web サイトから入手できます。また、ディレクトリ内のエントリ
の作成には、前述の LDAP Migration Tools を使うとよいでしょう。

<!-- [orig]
<sect1>Graphical LDAP tools
-->
<sect1>グラフィカルな LDAP ツール

<p>
<itemize>
<item>Kldap
</itemize>

<p>
<!-- [orig]
<tscreen>
Kldap is a graphical LDAP client written for KDE. Kldap has a nice interface and is able to show all the
information tree stored on your Directory. You can check some screenshots from the application and download it
at:
</tscreen>
-->
<tscreen>
Kldap は KDE のために書かれたグラフィカルな LDAP
クライアントです。Kldap はよいインタフェースを持ち、ディレクトリに
格納された情報ツリーをすべて参照できます。次の Web サイトで、この
アプリケーションのスクリーンショットのチェックとダウンロードができます。
</tscreen>
<p>
<tscreen><htmlurl url="http://www.mountpoint.ch/oliver/kldap/" name="http://www.mountpoint.ch/oliver/kldap
"></tscreen>

<p>
<itemize>
<item>GQ
</itemize>

<p>
<!-- [orig]
<tscreen>
GQ is another graphical LDAP client with a simpler interface. It was written for GNOME. It also runs under
KDE, the same way Kldap runs under GNOME. The address for downloading and getting more information is:
</tscreen>
-->
<tscreen>
GQ という簡潔なインタフェースを備えたグラフィカル LDAP クライアントもあります。
これは GNOME のために書かれたものです。GQ は KDE でも動作しますし、
Kldap も GNOME で動かせます。次の Web サイトで、ダウンロードやさらなる
情報を取得できます。
</tscreen>
<p>
<tscreen><htmlurl url="http://biot.com/gq/" name="http://biot.com/gq/"></tscreen>

<sect1>Logs
<p>
<!-- [orig]
Slapd uses the syslog(8) facility to generate logs. The default user of the syslog(8) facility is LOCAL4, but
values from LOCAL0, LOCAL1, up to LOCAL7 are allowed. 
-->
slapd はログを生成するのに syslog(8) 機能を用います。syslog(8) 機能の
デフォルトユーザは LOCAL4 ですが、LOCAL0, LOCAL1 から LOCAL7 までの
どれかにすることもできます。
<p>
<!-- [orig]
In order to enable the generation of logs you have to edit your syslog.conf file, usually located in the /etc
directory. 
-->
ログを生成できるようにするには、たいていは /etc ディレクトリにある
syslog.conf ファイルを編集しなければなりません。
<p>
<!-- [orig]
Create a line like this: 
-->
次のような行を追加します。
<!-- [orig]
<p>
local4.*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/adm/ldalog 
-->
<tscreen><verb>
local4.*     /usr/adm/ldalog 
</verb></tscreen>
<p>
<!-- [orig]
This will use the default user LOCAL4 for the syslog facility. If you are not familiar with the sintax of this
line, take a look at the man pages of syslog, syslog.conf and syslogd. If you want to change the default user
or to specify the level of the logs generated, you have the following options while starting slapd: 
-->
<!--??? [誤字]
 `sintax' は `syntax' の誤りであろう
-->
この設定では syslog 機能にデフォルトユーザ LOCAL4 を使います。この行の
構文を知らなければ、syslog, syslog.conf, syslogd の man ページを見て
ください。デフォルトユーザを変更したり、生成するログのレベルを指定する
には、slapd を起動するときに次のオプションを指定します。
<p>
-s syslog-level 
<!-- [orig]
    This option tells slapd at what level debugging statements should be logged to the syslog(8) facility. The
level describes the severity of the message, and is a keyword from the
    following ordered list (higher to lower): emerg, alert, crit, err, warning, notice, info, and debug.  Ex: 
    slapd -f myslapd.conf -s debug 
-->
<!--??? [執筆者に確認]
  指定するレベルの値(emerg, alert, crit, err, warning, notice, info, debug)は
  どこの情報だろう？ ミシガン大のものも OpenLDAP も数値で指定するようだが。
-->
<tscreen>
このオプションは、syslog(8) 機能にどのレベルのデバッグ情報を出力するかを
slapd に伝えます。このレベルはメッセージの重大度を述べていて、次に(高い
ほうから低いほうに)あげるキーワードのいずれかである：emerg, alert, crit,
err, warning, notice, info, debug. たとえば次のように指定します。
<tscreen><verb>
slapd -f myslapd.conf -s debug 
</verb></tscreen>
<p>
<bf>&lsqb;訳注&rsqb;</bf>
この説明は何かの勘違いのようです。
実際にはどのデバッグ情報を出力するかを数値で指定します。
指定する数値については slapd.conf の loglevel オプションを
参照してください。
</tscreen>
<p>
-l syslog-local-user 
<!-- [orig]
    Selects  the local user of the syslog(8) facility. Values can be LOCAL0, LOCAL1, and so on, up to LOCAL7.
The default is LOCAL4. However, this option is only permitted on
    systems that support local users with the syslog(8) facility. 
-->
<tscreen>
syslog(8) 機能のローカルユーザを指定します。値には LOCAL0, LOCAL1 など
LOCAL7 まで指定できます。デフォルトは LOCAL4 です。しかし、このオプション
は syslog(8) 機能でローカルユーザをサポートするシステムでのみ許されます。
</tscreen>
<p>
<!-- [orig]
Now take a look at the logs generated. They can help you tremendously in solving problems with queries,
updates, binding, etc. 
-->
さて、生成されたログを見てみてください。このログは、問合せ、更新、バインドなどで起きる問題を解決するのに
大きな助けとなります。

<!-- [orig]
<sect>References
-->
<sect>情報源
<p>
<!-- [orig]
On this section you will find additional documentation about LDAP: useful URLs, cool books and definition
RFCs. 
-->
この節では、LDAP についてさらに知りたい人のために、有用な URL、クールな書籍、RFC仕様を紹介します。

<sect1>URLs
<p>
<!-- [orig]
Here are the URLs that contain very useful information about LDAP. From these URLs, this HOWTO was made, so if
after reading this document you need more specific information, you probably will find here: 
-->
次に示すのは LDAP について非常に有用な情報を含んだ URL です。
この HOWTO はこれらの URL から作ったので、この文書を読んだ後でより詳細な
情報が必要なら、これらの URL で見つけられるかもしれません。
<itemize>
<item>
<!-- [orig]
University of Michigan LDAP Page: 
-->
ミシガン大学の LDAP ページ：
</itemize>
<p>
<!-- [orig]
<url url="http://www.umich.edu/&tilde;dirsvcs/ldap/index.html" name="
http://www.umich.edu/&tilde;dirsvcs/ldap/index.html">
-->
<tscreen>
<htmlurl url="http://www.umich.edu/&tilde;dirsvcs/ldap/index.html" name="
http://www.umich.edu/&tilde;dirsvcs/ldap/index.html">
</tscreen>
<itemize>
<item>
<!-- [orig]
University of Michigan LDAP Documentation Page: 
-->
ミシガン大学の LDAP 文書ページ：
</itemize>
<p>
<!-- [orig]
<url url="http://www.umich.edu/&tilde;dirsvcs/ldap/doc/" name="http://www.umich.edu/&tilde;dirsvcs/ldap/doc/">
-->
<tscreen>
<htmlurl url="http://www.umich.edu/&tilde;dirsvcs/ldap/doc/" name="
http://www.umich.edu/&tilde;dirsvcs/ldap/doc/">
</tscreen>
<itemize>
<item>OpenLDAP Administrator's Guide:
</itemize>
<p>
<!-- [orig]
<url url="http://www.openldap.org/doc/admin" name="http://www.openldap.org/doc/admin">
-->
<tscreen>
<htmlurl url="http://www.openldap.org/doc/admin" name="http://www.openldap.org/doc/admin">
</tscreen>
<itemize>
<item>
<!-- [orig]
Manually Implementing Roaming Access:
-->
Netscape のローミングアクセスを手作業で実現する方法：
</itemize>
<p>
<!-- [orig]
<url url="http://help.netscape.com/products/client/communicator/manual_roaming2.html" name="
http://help.netscape.com/products/client/communicator/manual_roaming2.html">
-->
<tscreen>
<htmlurl url="http://help.netscape.com/products/client/communicator/manual_roaming2.html" name="
http://help.netscape.com/products/client/communicator/manual_roaming2.html">
</tscreen>
<itemize>
<item>
<!-- [orig]
Customizing LDAP Settings for Communicator 4.5: 
-->
Netscape Communicator 4.5 の LDAP 設定のカスタマイズ：
</itemize>
<p>
<!-- [orig]
<url url="http://developer.netscape.com/docs/manuals/communicator/ldap45.htm" name="
http://developer.netscape.com/docs/manuals/communicator/ldap45.htm">
-->
<tscreen>
<htmlurl url="http://developer.netscape.com/docs/manuals/communicator/ldap45.htm" name="
http://developer.netscape.com/docs/manuals/communicator/ldap45.htm">
</tscreen>
<itemize>
<item>
Introducing to Directory Service (X.500):
</itemize>
<p>
<!-- [orig]
<url url="http://www.nic.surfnet.nl/surfnet/projects/x500/introducing/" name="
http://www.nic.surfnet.nl/surfnet/projects/x500/introducing/">
-->
<tscreen>
<htmlurl url="http://www.nic.surfnet.nl/surfnet/projects/x500/introducing/" name="
http://www.nic.surfnet.nl/surfnet/projects/x500/introducing/">
</tscreen>
<itemize>
<item>
Linux Directory Service:
</itemize>
<p>
<!-- [orig]
<url url="http://www.rage.net/ldap/" name="http://www.rage.net/ldap/">
-->
<tscreen>
<htmlurl url="http://www.rage.net/ldap/" name="http://www.rage.net/ldap/">
</tscreen>
<!-- [orig]
</itemize>
-->

<!-- [orig]
<sect1>Books
-->
<sect1>書籍
<!-- [orig]
<p>These are the most popular and useful books about LDAP:
-->
<p>これらは LDAP について最もよく知られた有用な書籍です。

<itemize>
<item>Implementing LDAP by Mark Wilcox
<item>LDAP: Programming Directory-Enabled Applications with Lightweight
Directory Access Protocol by Howes and Smith
&lsqb;松島栄樹、岡薫 訳 「LDAP インターネット ディレクトリ アプリケーション プログラミング」、
ピアソン刊&rsqb;
<item>Understanding and Deploying LDAP Directory Servers by Howes, Smith,
and Good
</itemize>

<!-- [orig]
<sect1>RFCs
-->
<sect1>RFC

<!-- [orig]
<p>The RFCs that support the LDAP development efforts:
-->
<p>LDAP の開発をサポートする RFC です。
<itemize>
<item>RFC 1558: A String Representation of LDAP Search Filters
<item>RFC 1777: Lightweight Directory Access Protocol
<item>RFC 1778: The String Representation of Standard Attribute Syntaxes
<item>RFC 1779: A String Representation of Distinguished Names
<item>RFC 1781: Using the OSI Directory to Achieve User Friendly Naming
<item>RFC 1798: Connectionless LDAP
<item>RFC 1823: The LDAP Application Programming Interface
<item>RFC 1959: An LDAP URL Format
<item>RFC 1960: A String Representation of LDAP Search Filters
<item>RFC 2251: Lightweight Directory Access Protocol (v3)
<item>RFC 2307: LDAP as a Network Information Service
</itemize>
</article>

