[要約] RFC 2307は、LDAPをネットワーク情報サービスとして使用するためのアプローチを提案している。その目的は、ネットワーク上のユーザー情報やグループ情報などのディレクトリ情報を効率的に管理することです。

Network Working Group                                          L. Howard
Request for Comments: 2307                        Independent Consultant
Category: Experimental                                        March 1998
        

An Approach for Using LDAP as a Network Information Service

LDAPをネットワーク情報サービスとして使用するためのアプローチ

Status of this Memo

本文書の状態

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

このメモは、インターネットコミュニティの実験プロトコルを定義します。いかなる種類のインターネット標準も規定していません。改善のための議論と提案が要求されます。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (1998). All Rights Reserved.

Copyright(C)The Internet Society(1998)。全著作権所有。

Abstract

概要

This document describes an experimental mechanism for mapping entities related to TCP/IP and the UNIX system into X.500 [X500] entries so that they may be resolved with the Lightweight Directory Access Protocol [RFC2251]. A set of attribute types and object classes are proposed, along with specific guidelines for interpreting them.

このドキュメントでは、TCP / IPおよびUNIXシステムに関連するエンティティをX.500 [X500]エントリにマッピングして、Lightweight Directory Access Protocol [RFC2251]で解決できるようにするための実験的なメカニズムについて説明します。属性タイプとオブジェクトクラスのセットが、それらを解釈するための特定のガイドラインとともに提案されています。

The intention is to assist the deployment of LDAP as an organizational nameservice. No proposed solutions are intended as standards for the Internet. Rather, it is hoped that a general consensus will emerge as to the appropriate solution to such problems, leading eventually to the adoption of standards. The proposed mechanism has already been implemented with some success.

その意図は、組織のネームサービスとしてLDAPの導入を支援することです。提案されたソリューションは、インターネットの標準として意図されたものではありません。むしろ、そのような問題の適切な解決策について一般的なコンセンサスが生まれ、最終的に標準の採用につながることが期待されます。提案されたメカニズムはすでに実装されており、ある程度の成功を収めています。

1. Background and Motivation
1. 背景と動機

The UNIX (R) operating system, and its derivatives (specifically, those which support TCP/IP and conform to the X/Open Single UNIX specification [XOPEN]) require a means of looking up entities, by matching them against search criteria or by enumeration. (Other operating systems that support TCP/IP may provide some means of resolving some of these entities. This schema is applicable to those environments also.)

UNIX(R)オペレーティングシステムとその派生物(具体的には、TCP / IPをサポートし、X / Open Single UNIX仕様[XOPEN]に準拠しているもの)では、エンティティを検索条件と照合するか、列挙。 (TCP / IPをサポートする他のオペレーティングシステムは、これらのエンティティの一部を解決する手段を提供する場合があります。このスキーマは、これらの環境にも適用できます。)

These entities include users, groups, IP services (which map names to IP ports and protocols, and vice versa), IP protocols (which map names to IP protocol numbers and vice versa), RPCs (which map names to ONC Remote Procedure Call [RFC1057] numbers and vice versa), NIS netgroups, booting information (boot parameters and MAC address mappings), filesystem mounts, IP hosts and networks, and RFC822 mail aliases.

これらのエンティティには、ユーザー、グループ、IPサービス(名前をIPポートとプロトコルにマップする、およびその逆)、IPプロトコル(名前をIPプロトコル番号にマップする、およびその逆)、RPC(名前をONCリモートプロシージャコールにマップする)が含まれます。 RFC1057]番号およびその逆)、NISネットグループ、ブート情報(ブートパラメータとMACアドレスマッピング)、ファイルシステムマウント、IPホストとネットワーク、およびRFC822メールエイリアス。

Resolution requests are made through a set of C functions, provided in the UNIX system's C library. For example, the UNIX system utility "ls", which enumerates the contents of a filesystem directory, uses the C library function getpwuid() in order to map user IDs to login names. Once the request is made, it is resolved using a "nameservice" which is supported by the client library. The nameservice may be, at its simplest, a collection of files in the local filesystem which are opened and searched by the C library. Other common nameservices include the Network Information Service (NIS) and the Domain Name System (DNS). (The latter is typically used for resolving hosts, services and networks.) Both these nameservices have the advantage of being distributed and thus permitting a common set of entities to be shared amongst many clients.

解決要求は、UNIXシステムのCライブラリで提供される一連のC関数を介して行われます。たとえば、ファイルシステムディレクトリの内容を列挙するUNIXシステムユーティリティ「ls」は、Cライブラリ関数getpwuid()を使用して、ユーザーIDをログイン名にマップします。リクエストが行われると、クライアントライブラリでサポートされている「nameservice」を使用して解決されます。ネームサービスは、最も単純な場合、Cライブラリによって開かれ、検索されるローカルファイルシステム内のファイルのコレクションです。その他の一般的なネームサービスには、ネットワーク情報サービス(NIS)とドメインネームシステム(DNS)があります。 (後者は通常、ホスト、サービス、およびネットワークを解決するために使用されます。)これらのネームサービスには両方とも分散されるという利点があるため、多くのクライアント間でエンティティの共通セットを共有できます。

LDAP is a distributed, hierarchical directory service access protocol which is used to access repositories of users and other network-related entities. Because LDAP is often not tightly integrated with the host operating system, information such as users may need to be kept both in LDAP and in an operating system supported nameservice such as NIS. By using LDAP as the the primary means of resolving these entities, these redundancy issues are minimized and the scalability of LDAP can be exploited. (By comparison, NIS services based on flat files do not have the scalability or extensibility of LDAP or X.500.)

LDAPは、ユーザーおよび他のネットワーク関連エンティティのリポジトリにアクセスするために使用される分散型の階層ディレクトリサービスアクセスプロトコルです。 LDAPはホストオペレーティングシステムと緊密に統合されていないことが多いため、ユーザーなどの情報は、LDAPとNISなどのオペレーティングシステムがサポートするネームサービスの両方に保持する必要がある場合があります。これらのエンティティーを解決する主要な手段としてLDAPを使用することにより、これらの冗長性の問題が最小限に抑えられ、LDAPのスケーラビリティーを活用できます。 (比較すると、フラットファイルに基づくNISサービスには、LDAPまたはX.500のスケーラビリティまたは拡張性がありません。)

The object classes and attributes defined below are suitable for representing the aforementioned entities in a form compatible with LDAP and X.500 directory services.

以下に定義するオブジェクトクラスと属性は、前述のエンティティをLDAPおよびX.500ディレクトリサービスと互換性のある形式で表すのに適しています。

2. General Issues
2. 一般的な問題
2.1. Terminology
2.1. 用語

The key words "MUST", "SHOULD", and "MAY" used in this document are to be interpreted as described in [RFC2119].

このドキュメントで使用されるキーワード「MUST」、「SHOULD」、および「MAY」は、[RFC2119]で説明されているように解釈されます。

For the purposes of this document, the term "nameservice" refers to a service, such as NIS or flat files, that is used by the operating system to resolve entities within a single, local naming context. Contrast this with a "directory service" such as LDAP, which supports extensible schema and multiple naming contexts.

このドキュメントでは、「nameservice」という用語は、オペレーティングシステムが単一のローカル名前付けコンテキスト内のエンティティを解決するために使用するNISやフラットファイルなどのサービスを指します。これを、拡張可能なスキーマと複数のネーミングコンテキストをサポートするLDAPなどの「ディレクトリサービス」と比較してください。

The term "NIS-related entities" broadly refers to entities which are typically resolved using the Network Information Service. (NIS was previously known as YP.) Deploying LDAP for resolving these entities does not imply that NIS be used, as a gateway or otherwise. In particular, the host and network classes are generically applicable, and may be implemented on any system that wishes to use LDAP or X.500 for host and network resolution.

「NIS関連のエンティティ」という用語は、ネットワーク情報サービスを使用して通常解決されるエンティティを広く指します。 (NISは以前YPと呼ばれていました。)これらのエンティティーを解決するためにLDAPをデプロイしても、NISがゲートウェイなどとして使用されるとは限りません。特に、ホストとネットワークのクラスは一般的に適用可能であり、ホストとネットワークの解決にLDAPまたはX.500を使用したいシステムに実装できます。

The "DUA" (directory user agent) refers to the LDAP client querying these entities, such as an LDAP to NIS gateway or the C library. The "client" refers to the application which ultimately makes use of the information returned by the resolution. It is irrelevant whether the DUA and the client reside within the same address space. The act of the DUA making this information to the client is termed "republishing".

「DUA」(ディレクトリユーザーエージェント)は、LDAPからNISへのゲートウェイやCライブラリなど、これらのエンティティにクエリを実行するLDAPクライアントを指します。 「クライアント」とは、解決によって返された情報を最終的に利用するアプリケーションを指します。 DUAとクライアントが同じアドレス空間内にあるかどうかは関係ありません。 DUAがこの情報をクライアントに送信することを「再公開」と呼びます。

To avoid confusion, the term "login name" refers to the user's login name (being the value of the uid attribute) and the term "user ID" refers to he user's integer identification number (being the value of the uidNumber attribute).

混乱を避けるため、「ログイン名」という用語はユーザーのログイン名(uid属性の値)を指し、「ユーザーID」という用語はユーザーの整数の識別番号(uidNumber属性の値)を指します。

The phrases "resolving an entity" and "resolution of entities" refer respectively to enumerating NIS-related entities of a given type, and matching them against a given search criterion. One or more entities are returned as a result of successful "resolutions" (a "match" operation will only return one entity).

「エンティティの解決」および「エンティティの解決」という句は、それぞれ、特定のタイプのNIS関連エンティティを列挙し、それらを特定の検索基準と照合することを指します。 「解決」が成功した結果として、1つ以上のエンティティが返されます(「一致」操作は1つのエンティティのみを返します)。

The use of the term UNIX does not confer upon this schema the endorsement of owners of the UNIX trademark. Where necessary, the term "TCP/IP entity" is used to refer to protocols, services, hosts, and networks, and the term "UNIX entity" to its complement. (The former category does not mandate the host operating system supporting the interfaces required for resolving UNIX entities.)

UNIXという用語の使用は、UNIX商標の所有者の承認をこのスキーマに与えるものではありません。必要に応じて、「TCP / IPエンティティ」という用語は、プロトコル、サービス、ホスト、およびネットワークを指すために使用され、「UNIXエンティティ」という用語は、その補足として使用されます。 (前者のカテゴリーは、UNIXエンティティーの解決に必要なインターフェースをサポートするホストオペレーティングシステムを義務付けていません。)

The OIDs defined below are derived from iso(1) org(3) dod(6) internet(1) directory(1) nisSchema(1).

以下で定義されているOIDは、iso(1)org(3)dod(6)internet(1)directory(1)nisSchema(1)から派生しています。

2.2. Attributes
2.2. の属性

The attributes and classes defined in this document are summarized below.

このドキュメントで定義されている属性とクラスを以下にまとめます。

The following attributes are defined in this document:

このドキュメントでは、次の属性が定義されています。

uidNumber gidNumber gecos homeDirectory loginShell shadowLastChange shadowMin shadowMax shadowWarning shadowInactive shadowExpire shadowFlag memberUid memberNisNetgroup nisNetgroupTriple ipServicePort ipServiceProtocol ipProtocolNumber oncRpcNumber ipHostNumber ipNetworkNumber ipNetmaskNumber macAddress bootParameter bootFile nisMapName nisMapEntry

uidNumber gidNumber gecos homeDirectory loginShell shadowLastChange shadowMin shadowMax shadowWarning shadowInactive shadowExpire shadowFlag memberUid memberNisNetgroup nisNetgroupTriple ipServicePort ipServiceProtocol ipProtocolNumber oncRpcNumber ipHostNumber ipNetworkNumber ipNetmaskNumber macAddress bootParameter bootFile nisMapName nisMapEntry

Additionally, some of the attributes defined in [RFC2256] are required.

さらに、[RFC2256]で定義されている一部の属性は必須です。

2.3. Object classes
2.3. オブジェクトクラス

The following object classes are defined in this document:

このドキュメントでは、次のオブジェクトクラスが定義されています。

posixAccount shadowAccount posixGroup ipService ipProtocol oncRpc ipHost ipNetwork nisNetgroup nisMap nisObject ieee802Device bootableDevice

posixAccount shadowAccount posixGroup ipService ipProtocol oncRpc ipHost ipNetwork nisNetgroup nisMap nisObject ieee802Device bootableDevice

Additionally, some of the classes defined in [RFC2256] are required.

さらに、[RFC2256]で定義されているクラスの一部が必要です。

2.4. Syntax definitions
2.4. 構文定義

The following syntax definitions [RFC2252] are used by this schema. The nisNetgroupTripleSyntax represents NIS netgroup triples:

次の構文定義[RFC2252]は、このスキーマで使用されます。 nisNetgroupTripleSyntaxは、NISネットグループトリプルを表します。

( nisSchema.0.0 NAME 'nisNetgroupTripleSyntax' DESC 'NIS netgroup triple' )

(nisSchema.0.0 NAME 'nisNetgroupTripleSyntax' DESC 'NIS netgroup triple')

Values in this syntax are represented by the following:

この構文の値は、次のように表されます。

        nisnetgrouptriple = "(" hostname "," username "," domainname ")"
        hostname          = "" / "-" / keystring
        username          = "" / "-" / keystring
        domainname        = "" / "-" / keystring
        

X.500 servers may use the following representation of the above syntax:

X.500サーバーは、上記の構文の次の表現を使用できます。

        nisNetgroupTripleSyntax ::= SEQUENCE {
         hostname  [0] IA5String OPTIONAL,
         username  [1] IA5String OPTIONAL,
         domainname  [2] IA5String OPTIONAL
        }
        

The bootParameterSyntax syntax represents boot parameters:

bootParameterSyntax構文は、ブートパラメータを表します。

( nisSchema.0.1 NAME 'bootParameterSyntax' DESC 'Boot parameter' )

(nisSchema.0.1 NAME 'bootParameterSyntax' DESC 'Boot parameter')

where:

ただし:

        bootparameter     = key "=" server ":" path
        key               = keystring
        server            = keystring
        path              = keystring
        

X.500 servers may use the following representation of the above syntax:

X.500サーバーは、上記の構文の次の表現を使用できます。

        bootParameterSyntax ::= SEQUENCE {
         key     IA5String,
         server  IA5String,
         path    IA5String
        }
        

Values adhering to these syntaxes are encoded as strings by LDAP servers.

これらの構文に準拠する値は、LDAPサーバーによって文字列としてエンコードされます。

3. Attribute definitions
3. 属性の定義

This section contains attribute definitions to be implemented by DUAs supporting this schema.

このセクションには、このスキーマをサポートするDUAによって実装される属性定義が含まれています。

( nisSchema.1.0 NAME 'uidNumber' DESC 'An integer uniquely identifying a user in an administrative domain' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.0 NAME 'uidNumber' DESC '管理ドメイン内のユーザーを一意に識別する整数' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.1 NAME 'gidNumber' DESC 'An integer uniquely identifying a group in an administrative domain' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.1 NAME 'gidNumber' DESC '管理ドメイン内のグループを一意に識別する整数' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.2 NAME 'gecos' DESC 'The GECOS field; the common name' EQUALITY caseIgnoreIA5Match SUBSTRINGS caseIgnoreIA5SubstringsMatch SYNTAX 'IA5String' SINGLE-VALUE )

(nisSchema.1.2 NAME 'gecos' DESC 'The GECOS field; the common name' EQUALITY caseIgnoreIA5Match SUBSTRINGS caseIgnoreIA5SubstringsMatch SYNTAX 'IA5String' SINGLE-VALUE)

( nisSchema.1.3 NAME 'homeDirectory' DESC 'The absolute path to the home directory' EQUALITY caseExactIA5Match SYNTAX 'IA5String' SINGLE-VALUE )

(nisSchema.1.3 NAME 'homeDirectory' DESC 'ホームディレクトリへの絶対パス' EQUALITY caseExactIA5Match構文 'IA5String' SINGLE-VALUE)

( nisSchema.1.4 NAME 'loginShell' DESC 'The path to the login shell' EQUALITY caseExactIA5Match SYNTAX 'IA5String' SINGLE-VALUE )

(nisSchema.1.4 NAME 'loginShell' DESC 'The path to the login shell' EQUALITY caseExactIA5Match SYNTAX 'IA5String' SINGLE-VALUE)

( nisSchema.1.5 NAME 'shadowLastChange' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.5 NAME 'shadowLastChange' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.6 NAME 'shadowMin' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.6 NAME 'shadowMin' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.7 NAME 'shadowMax' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.7 NAME 'shadowMax' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.8 NAME 'shadowWarning' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.8 NAME 'shadowWarning' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.9 NAME 'shadowInactive'

(nisSchema.1.9 NAME 'shadowInactive'

EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.10 NAME 'shadowExpire' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.10 NAME 'shadowExpire' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.11 NAME 'shadowFlag' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.11 NAME 'shadowFlag' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.12 NAME 'memberUid' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String' )

(nisSchema.1.12 NAME 'memberUid' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String')

( nisSchema.1.13 NAME 'memberNisNetgroup' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String' )

(nisSchema.1.13 NAME 'memberNisNetgroup' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String')

( nisSchema.1.14 NAME 'nisNetgroupTriple' DESC 'Netgroup triple' SYNTAX 'nisNetgroupTripleSyntax' )

(nisSchema.1.14 NAME 'nisNetgroupTriple' DESC 'Netgroup triple' SYNTAX 'nisNetgroupTripleSyntax')

( nisSchema.1.15 NAME 'ipServicePort' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.15 NAME 'ipServicePort' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.16 NAME 'ipServiceProtocol' SUP name )

(nisSchema.1.16 NAME 'ipServiceProtocol' SUP名)

( nisSchema.1.17 NAME 'ipProtocolNumber' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.17 NAME 'ipProtocolNumber' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.18 NAME 'oncRpcNumber' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE )

(nisSchema.1.18 NAME 'oncRpcNumber' EQUALITY integerMatch SYNTAX 'INTEGER' SINGLE-VALUE)

( nisSchema.1.19 NAME 'ipHostNumber' DESC 'IP address as a dotted decimal, eg. 192.168.1.1, omitting leading zeros' EQUALITY caseIgnoreIA5Match SYNTAX 'IA5String{128}' )

(nisSchema.1.19 NAME 'ipHostNumber' DESC 'ドット付き10進数としてのIPアドレス、たとえば192.168.1.1、先行ゼロを省略' EQUALITY caseIgnoreIA5Match SYNTAX 'IA5String {128}')

( nisSchema.1.20 NAME 'ipNetworkNumber' DESC 'IP network as a dotted decimal, eg. 192.168,

(nisSchema.1.20 NAME 'ipNetworkNumber' DESC 'ドット付き10進数としてのIPネットワーク、例:192.168、

omitting leading zeros' EQUALITY caseIgnoreIA5Match SYNTAX 'IA5String{128}' SINGLE-VALUE )

先行ゼロの省略EQUALITY caseIgnoreIA5Match構文 'IA5String {128}' SINGLE-VALUE)

( nisSchema.1.21 NAME 'ipNetmaskNumber' DESC 'IP netmask as a dotted decimal, eg. 255.255.255.0, omitting leading zeros' EQUALITY caseIgnoreIA5Match SYNTAX 'IA5String{128}' SINGLE-VALUE )

(nisSchema.1.21 NAME 'ipNetmaskNumber' DESC 'ドット付き10進数としてのIPネットマスク。例:255.255.255.0、先行ゼロを省略' EQUALITY caseIgnoreIA5Match SYNTAX 'IA5String {128}' SINGLE-VALUE)

        ( nisSchema.1.22 NAME 'macAddress'
          DESC 'MAC address in maximal, colon separated hex
                notation, eg. 00:00:92:90:ee:e2'
          EQUALITY caseIgnoreIA5Match
          SYNTAX 'IA5String{128}' )
        

( nisSchema.1.23 NAME 'bootParameter' DESC 'rpc.bootparamd parameter' SYNTAX 'bootParameterSyntax' )

(nisSchema.1.23 NAME 'bootParameter' DESC 'rpc.bootparamd parameter' SYNTAX 'bootParameterSyntax')

( nisSchema.1.24 NAME 'bootFile' DESC 'Boot image name' EQUALITY caseExactIA5Match SYNTAX 'IA5String' )

(nisSchema.1.24 NAME 'bootFile' DESC 'Boot image name' EQUALITY caseExactIA5Match SYNTAX 'IA5String')

( nisSchema.1.26 NAME 'nisMapName' SUP name )

(nisSchema.1.26 NAME 'nisMapName' SUP名)

( nisSchema.1.27 NAME 'nisMapEntry' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String{1024}' SINGLE-VALUE )

(nisSchema.1.27 NAME 'nisMapEntry' EQUALITY caseExactIA5Match SUBSTRINGS caseExactIA5SubstringsMatch SYNTAX 'IA5String {1024}' SINGLE-VALUE)

4. Class definitions
4. クラス定義

This section contains class definitions to be implemented by DUAs supporting the schema.

このセクションには、スキーマをサポートするDUAによって実装されるクラス定義が含まれています。

The rfc822MailGroup object class MAY be used to represent a mail group for the purpose of alias expansion. Several alternative schemes for mail routing and delivery using LDAP directories, which are outside the scope of this document.

rfc822MailGroupオブジェクトクラスは、エイリアス拡張の目的でメールグループを表すために使用される場合があります。このドキュメントの範囲外であるLDAPディレクトリを使用したメールのルーティングと配信のためのいくつかの代替スキーム。

( nisSchema.2.0 NAME 'posixAccount' SUP top AUXILIARY DESC 'Abstraction of an account with POSIX attributes' MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) )

(nisSchema.2.0 NAME 'posixAccount' SUP top AUXILIARY DESC 'POSIX属性を持つアカウントの抽出'は必須(cn $ uid $ uidNumber $ gidNumber $ homeDirectory)MAY(userPassword $ loginShell $ gecos $ description))

( nisSchema.2.1 NAME 'shadowAccount' SUP top AUXILIARY DESC 'Additional attributes for shadow passwords' MUST uid MAY ( userPassword $ shadowLastChange $ shadowMin shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag $ description ) )

(nisSchema.2.1 NAME 'shadowAccount' SUP top AUXILIARY DESC 'Additional attributes for shadow passwords' MUST uid MAY(userPassword $ shadowLastChange $ shadowMin shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag $ description))

( nisSchema.2.2 NAME 'posixGroup' SUP top STRUCTURAL DESC 'Abstraction of a group of accounts' MUST ( cn $ gidNumber ) MAY ( userPassword $ memberUid $ description ) )

(nisSchema.2.2 NAME 'posixGroup' SUP top STRUCTURAL DESC 'Abstraction of a group of accounts' MUST(cn $ gidNumber)MAY(MAY(userPassword $ memberUid $ description))

( nisSchema.2.3 NAME 'ipService' SUP top STRUCTURAL DESC 'Abstraction an Internet Protocol service. Maps an IP port and protocol (such as tcp or udp) to one or more names; the distinguished value of the cn attribute denotes the service's canonical name' MUST ( cn $ ipServicePort $ ipServiceProtocol ) MAY ( description ) )

(nisSchema.2.3 NAME 'ipService' SUP top STRUCTURAL DESC 'Abstraction an Internet Protocol service。Maps an IP port and protocol(such as tcp or udp)to one or more names; distinting value of cn attribute can service the canonical name '必須(cn $ ipServicePort $ ipServiceProtocol)MAY(説明))

( nisSchema.2.4 NAME 'ipProtocol' SUP top STRUCTURAL DESC 'Abstraction of an IP protocol. Maps a protocol number to one or more names. The distinguished value of the cn attribute denotes the protocol's canonical name' MUST ( cn $ ipProtocolNumber $ description ) MAY description )

(nisSchema.2.4 NAME 'ipProtocol' SUP top STRUCTURAL DESC 'IPプロトコルの抽象化。プロトコル番号を1つまたは複数の名前にマップします。cn属性の識別値は、プロトコルの正規名を示します' MUST(cn $ ipProtocolNumber $ description) 5月の説明)

( nisSchema.2.5 NAME 'oncRpc' SUP top STRUCTURAL DESC 'Abstraction of an Open Network Computing (ONC) [RFC1057] Remote Procedure Call (RPC) binding. This class maps an ONC RPC number to a name. The distinguished value of the cn attribute denotes the RPC service's canonical name' MUST ( cn $ oncRpcNumber $ description ) MAY description )

(nisSchema.2.5 NAME 'oncRpc' SUP top STRUCTURAL DESC 'Abstraction of a Open Network Computing(ONC)[RFC1057] Remote Procedure Call(RPC)binding。このクラスは、ONC RPC番号を名前にマッピングします。cnの識別値属性は、RPCサービスの正規名を示します(MUST(cn $ oncRpcNumber $ description)MAY description)

( nisSchema.2.6 NAME 'ipHost' SUP top AUXILIARY

(nisSchema.2.6 NAME 'ipost' SUPトップAUXILIARY

DESC 'Abstraction of a host, an IP device. The distinguished value of the cn attribute denotes the host's canonical name. Device SHOULD be used as a structural class' MUST ( cn $ ipHostNumber ) MAY ( l $ description $ manager ) )

DESC 'ホスト、IPデバイスの抽象化。 cn属性の識別値は、ホストの正規名を示します。デバイスは構造クラスとして使用する必要があります(MUST(cn $ ipHostNumber)MAY(l $ description $ manager))

( nisSchema.2.7 NAME 'ipNetwork' SUP top STRUCTURAL DESC 'Abstraction of a network. The distinguished value of the cn attribute denotes the network's canonical name'

(nisSchema.2.7 NAME 'ipNetwork' SUP top STRUCTURAL DESC 'ネットワークの抽象化。cn属性の識別値はネットワークの正規名を示します'

MUST ( cn $ ipNetworkNumber ) MAY ( ipNetmaskNumber $ l $ description $ manager ) )

必須(cn $ ipNetworkNumber)MAY(ipNetmaskNumber $ l $ description $ manager))

( nisSchema.2.8 NAME 'nisNetgroup' SUP top STRUCTURAL DESC 'Abstraction of a netgroup. May refer to other netgroups' MUST cn MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )

(nisSchema.2.8 NAME 'nisNetgroup' SUP top STRUCTURAL DESC 'Abstraction of a netgroup。May refer to other netgroups' MUST cn MAY(nisNetgroupTriple $ memberNisNetgroup $ description))

( nisSchema.2.09 NAME 'nisMap' SUP top STRUCTURAL DESC 'A generic abstraction of a NIS map' MUST nisMapName MAY description )

(nisSchema.2.09 NAME 'nisMap' SUP top STRUCTURAL DESC 'NIS abstraction of a NIS map' must must nisMapName MAY description)

( nisSchema.2.10 NAME 'nisObject' SUP top STRUCTURAL DESC 'An entry in a NIS map' MUST ( cn $ nisMapEntry $ nisMapName ) MAY description )

(nisSchema.2.10 NAME 'nisObject' SUP top STRUCTURAL DESC 'An entry in a NIS map' must(cn $ nisMapEntry $ nisMapName)MAY description)

( nisSchema.2.11 NAME 'ieee802Device' SUP top AUXILIARY DESC 'A device with a MAC address; device SHOULD be used as a structural class' MAY macAddress )

(nisSchema.2.11 NAME 'ieee802Device' SUP top AUXILIARY DESC 'MACアドレスを持つデバイス。デバイスは構造クラスとして使用する必要があります' MAY macAddress)

( nisSchema.2.12 NAME 'bootableDevice' SUP top AUXILIARY DESC 'A device with boot parameters; device SHOULD be used as a structural class' MAY ( bootFile $ bootParameter ) )

(nisSchema.2.12 NAME 'bootableDevice' SUP top AUXILIARY DESC 'Aブートパラメータを持つデバイス。デバイスは構造クラスとして使用する必要があります' MAY(bootFile $ bootParameter))

5. Implementation details
5. 実装の詳細
5.1. Suggested resolution methods
5.1. 推奨される解決方法

The preferred means of directing a client application (one using the shared services of the C library) to use LDAP as its information source for the functions listed in 5.2 is to modify the source code to directly query LDAP. As the source to commercial C libraries and applications is rarely available to the end-user, one could emulate a supported nameservice (such as NIS). (This is also an appropriate opportunity to perform caching of entries across process address spaces.) In the case of NIS, reference implementations are widely available and the RPC interface is well known.

クライアントアプリケーション(Cライブラリの共有サービスを使用するアプリケーション)に、5.2にリストされている関数の情報ソースとしてLDAPを使用するように指示する好ましい方法は、ソースコードを変更してLDAPに直接クエリを実行することです。商用Cライブラリおよびアプリケーションのソースがエンドユーザーに利用できることはほとんどないため、サポートされているネームサービス(NISなど)をエミュレートできます。 (これは、プロセスアドレス空間全体でエントリのキャッシュを実行する適切な機会でもあります。)NISの場合、リファレンス実装が広く利用可能であり、RPCインターフェイスはよく知られています。

The means by which the operating system is directed to use LDAP is implementation dependent. For example, some operating systems and C libraries support end-user extensible resolvers using dynamically loadable libraries and a nameservice "switch". The means in which the DUA locates LDAP servers is also implementation dependent.

オペレーティングシステムがLDAPを使用するように指示される方法は、実装によって異なります。たとえば、一部のオペレーティングシステムとCライブラリは、動的にロード可能なライブラリとネームサービス「スイッチ」を使用して、エンドユーザーの拡張可能なリゾルバーをサポートしています。 DUAがLDAPサーバーを見つける方法も実装に依存します。

5.2. Affected library functions
5.2. 影響を受けるライブラリ関数

The following functions are typically found in the C libraries of most UNIX and POSIX compliant systems. An LDAP search filter [RFC2254] which may be used to satisfy the function call is included alongside each function name. Parameters are denoted by %s and %d for string and integer arguments, respectively. Long lines are broken.

次の関数は、通常、ほとんどのUNIXおよびPOSIX準拠システムのCライブラリにあります。関数呼び出しを満たすために使用できるLDAP検索フィルター[RFC2254]が、各関数名とともに含まれています。パラメータは、文字列引数と整数引数の場合、それぞれ%sと%dで示されます。長い行は壊れています。

        getpwnam()              (&(objectClass=posixAccount)(uid=%s))
        getpwuid()              (&(objectClass=posixAccount)
                                (uidNumber=%d))
        getpwent()              (objectClass=posixAccount)
        
        getspnam()              (&(objectClass=shadowAccount)(uid=%s))
        getspent()              (objectClass=shadowAccount)
        
        getgrnam()              (&(objectClass=posixGroup)(cn=%s))
        getgrgid()              (&(objectClass=posixGroup)
                                (gidNumber=%d))
        getgrent()              (objectClass=posixGroup)
        
        getservbyname()         (&(objectClass=ipService)
                                (cn=%s)(ipServiceProtocol=%s))
        getservbyport()         (&(objectClass=ipService)
                                (ipServicePort=%d)
                                (ipServiceProtocol=%s))
        getservent()            (objectClass=ipService)
        
        getrpcbyname()          (&(objectClass=oncRpc)(cn=%s))
        getrpcbynumber()        (&(objectClass=oncRpc)(oncRpcNumber=%d))
        getrpcent()             (objectClass=oncRpc)
        
        getprotobyname()        (&(objectClass=ipProtocol)(cn=%s))
        getprotobynumber()      (&(objectClass=ipProtocol)
                                (ipProtocolNumber=%d))
        getprotoent()           (objectClass=ipProtocol)
        
        gethostbyname()         (&(objectClass=ipHost)(cn=%s))
        gethostbyaddr()         (&(objectClass=ipHost)(ipHostNumber=%s))
        gethostent()            (objectClass=ipHost)
        
        getnetbyname()          (&(objectClass=ipNetwork)(cn=%s))
        getnetbyaddr()          (&(objectClass=ipNetwork)
                                (ipNetworkNumber=%s))
        getnetent()             (objectClass=ipNetwork)
        
        setnetgrent()           (&(objectClass=nisNetgroup)(cn=%s))
        
5.3. Interpreting user and group entries
5.3. ユーザーとグループのエントリの解釈

User and group resolution is initiated by the functions prefixed by getpw and getgr respectively. The uid attribute contains the user's login name. The cn attribute, in posixGroup entries, contains the group's name.

ユーザーとグループの解決は、それぞれgetpwとgetgrで始まる関数によって開始されます。 uid属性には、ユーザーのログイン名が含まれます。 posixGroupエントリのcn属性には、グループの名前が含まれています。

The account object class provides a convenient structural class for posixAccount, and SHOULD be used where additional attributes are not required.

アカウントオブジェクトクラスはposixAccountに便利な構造クラスを提供し、追加の属性が必要ない場合に使用する必要があります(SHOULD)。

It is suggested that uid and cn are used as the RDN attribute type for posixAccount and posixGroup entries, respectively.

uidおよびcnは、それぞれposixAccountおよびposixGroupエントリのRDN属性タイプとして使用することをお勧めします。

An account's GECOS field is preferably determined by a value of the gecos attribute. If no gecos attribute exists, the value of the cn attribute MUST be used. (The existence of the gecos attribute allows information embedded in the GECOS field, such as a user's telephone number, to be returned to the client without overloading the cn attribute. It also accommodates directories where the common name does not contain the user's full name.)

アカウントのGECOSフィールドは、gecos属性の値によって決定されることが好ましい。 gecos属性が存在しない場合は、cn属性の値を使用する必要があります。 (gecos属性の存在により、ユーザーの電話番号など、GECOSフィールドに埋め込まれた情報を、cn属性をオーバーロードせずにクライアントに返すことができます。また、共通名にユーザーのフルネームが含まれていないディレクトリにも対応します。 )

An entry of class posixAccount, posixGroup, or shadowAccount without a userPassword attribute MUST NOT be used for authentication. The client should be returned a non-matchable password such as "x".

userPassword属性のないクラスposixAccount、posixGroup、またはshadowAccountのエントリは、認証に使用してはなりません(MUST NOT)。クライアントには、「x」などの一致しないパスワードを返す必要があります。

userPassword values MUST be represented by following syntax:

userPasswordの値は、次の構文で表す必要があります。

        passwordvalue          = schemeprefix encryptedpassword
        schemeprefix           = "{" scheme "}"
        scheme                 = "crypt" / "md5" / "sha" / altscheme
        altscheme              = "x-" keystring
        encryptedpassword      = encrypted password
        

The encrypted password contains of a plaintext key hashed using the algorithm scheme.

暗号化されたパスワードには、アルゴリズムスキームを使用してハッシュされた平文のキーが含まれています。

userPassword values which do not adhere to this syntax MUST NOT be used for authentication. The DUA MUST iterate through the values of the attribute until a value matching the above syntax is found. Only if encryptedpassword is an empty string does the user have no password. DUAs are not required to consider encryption schemes which the client will not recognize; in most cases, it may be sufficient to consider only "crypt".

この構文に準拠していないuserPassword値は、認証に使用してはなりません(MUST NOT)。 DUAは、上記の構文に一致する値が見つかるまで、属性の値を反復処理する必要があります。 encryptedpasswordが空の文字列である場合のみ、ユーザーにはパスワードがありません。 DUAは、クライアントが認識しない暗号化スキームを考慮する必要はありません。ほとんどの場合、「暗号化」のみを考慮すれば十分です。

Below is an example of a userPassword attribute:

以下は、userPassword属性の例です。

                    userPassword: {crypt}X5/DBrWPOQQaI
        

A future standard may specify LDAP v3 attribute descriptions to represent hashed userPasswords, as noted below. This schema MUST NOT be used with LDAP v2 DUAs and DSAs.

以下のように、将来の標準では、ハッシュされたuserPasswordを表すためにLDAP v3属性の説明を指定する可能性があります。このスキーマは、LDAP v2 DUAおよびDSAで使用してはなりません(MUST NOT)。

        attributetype           = attributename sep attributeoption
        attributename           = "userPassword"
        sep                     = ";"
        attributeoption         = schemeclass "-" scheme
        schemeclass             = "hash" / altschemeclass
        scheme                  = "crypt" / "md5" / "sha" / altscheme
        altschemeclass          = "x-" keystring
        altscheme               = keystring
        

Below is an example of a userPassword attribute, represented with an LDAP v3 attribute description:

以下は、LDAP v3属性の説明で表されたuserPassword属性の例です。

           userPassword;hash-crypt: X5/DBrWPOQQaI
        

A DUA MAY utilise the attributes in the shadowAccount class to provide shadow password service (getspnam() and getspent()). In such cases, the DUA MUST NOT make use of the userPassword attribute for getpwnam() et al, and MUST return a non-matchable password (such as "x") to the client instead.

DUAは、shadowAccountクラスの属性を利用して、シャドウパスワードサービス(getspnam()およびgetspent())を提供できます。このような場合、DUAはgetpwnam()などのuserPassword属性を使用してはならず(MUST NOT)、代わりに一致しないパスワード(「x」など)をクライアントに返す必要があります。

5.4. Interpreting hosts and networks
5.4. ホストとネットワークの解釈

The ipHostNumber and ipNetworkNumber attributes are defined in preference to dNSRecord (defined in [RFC1279]), in order to simplify the DUA's role in interpreting entries in the directory. A dNSRecord expresses a complete resource record, including time to live and class data, which is extraneous to this schema.

ipHostNumber属性とipNetworkNumber属性は、dNSRecord([RFC1279]で定義)よりも優先して定義され、ディレクトリ内のエントリの解釈におけるDUAの役割を簡素化します。 dNSRecordは、存続時間とクラスデータを含む完全なリソースレコードを表します。これは、このスキーマには無関係です。

Additionally, the ipHost and ipNetwork classes permit a host or network (respectively) and all its aliases to be represented by a single entry in the directory. This is not necessarily possible if a DNS resource record is mapped directly to an LDAP entry. Implementations that wish to use LDAP to master DNS zone information are not precluded from doing so, and may simply avoid the ipHost and ipNetwork classes.

さらに、ipHostクラスとipNetworkクラスを使用すると、ホストまたはネットワーク(それぞれ)とそのすべてのエイリアスをディレクトリ内の単一のエントリで表すことができます。 DNSリソースレコードがLDAPエントリに直接マップされている場合、これは必ずしも可能ではありません。 LDAPを使用してDNSゾーン情報をマスターすることを希望する実装は、そうすることを妨げるものではなく、単にipHostクラスとipNetworkクラスを回避することができます。

This document redefines, although not exclusively, the ipNetwork class defined in [RFC1279], in order to achieve consistent naming with ipHost. The ipNetworkNumber attribute is also used in the siteContact object class [ROSE].

このドキュメントは、ipHostとの一貫したネーミングを実現するために、[RFC1279]で定義されているipNetworkクラスを再定義しますが、これに限定されません。 ipNetworkNumber属性は、siteContactオブジェクトクラス[ROSE]でも使用されます。

The trailing zeros in a network address MUST be omitted. CIDR-style network addresses (eg. 192.168.1/24) MAY be used.

ネットワークアドレスの末尾のゼロは省略しなければなりません。 CIDRスタイルのネットワークアドレス(例:192.168.1 / 24)を使用できます。

Hosts with IPv6 addresses MUST be written in their "preferred" form as defined in section 2.2.1 of [RFC1884], such that all components of the address are indicated and leading zeros are omitted. This provides a consistent means of resolving ipHosts by address.

IPv6アドレスを持つホストは、[RFC1884]のセクション2.2.1で定義されている「推奨」形式で記述する必要があります。これにより、アドレスのすべてのコンポーネントが示され、先頭のゼロが省略されます。これにより、アドレスによってipHostsを解決する一貫した手段が提供されます。

5.5. Interpreting other entities
5.5. 他のエンティティの解釈

In general, a one-to-one mapping between entities and LDAP entries is proposed, in that each entity has exactly one representation in the DIT. In some cases this is not feasible; for example, a service which is represented in more than one protocol domain. Consider the following entry:

一般に、エンティティとLDAPエントリ間の1対1のマッピングが提案されています。これは、各エンティティがDITで正確に1つの表現を持つということです。これが実現できない場合もあります。たとえば、複数のプロトコルドメインで表されるサービス。次のエントリを検討してください。

           dn: cn=domain, dc=aja, dc=com
           cn: domain
           cn: nameserver
           objectClass: top
           objectClass: ipService
           ipServicePort: 53
           ipServiceProtocol: tcp
           ipServiceProtocol: udp
        

This entry MUST map to the following two (2) services entities:

このエントリは、次の2つのサービスエンティティにマップする必要があります。

domain 53/tcp nameserver domain 53/udp nameserver

ドメイン53 / tcpネームサーバードメイン53 / udpネームサーバー

While the above two entities may be represented as separate LDAP entities, with different distinguished names (such as cn=domain+ipServiceProtocol=tcp, ... and cn=domain+ipServiceProtocol=udp, ...) it is convenient to represent them as a single entry. (If a service is represented in multiple protocol domains with different ports, then multiple entries are required; multivalued RDNs may be used to distinguish them.)

上記の2つのエンティティは、異なる識別名(cn = domain + ipServiceProtocol = tcp、...やcn = domain + ipServiceProtocol = udp、...など)を持つ別個のLDAPエンティティとして表される場合がありますが、それらを表すと便利です。単一のエントリとして。 (サービスが異なるポートを持つ複数のプロトコルドメインで表される場合、複数のエントリが必要です。複数の値を持つRDNを使用してそれらを区別することができます。)

With the exception of userPassword values, which are parsed according to the syntax considered in section 5.2, any empty values (consisting of a zero length string) are returned by the DUA to the client. The DUA MUST reject any entries which do not conform to the schema (missing mandatory attributes). Non-conforming entries SHOULD be ignored while enumerating entries.

セクション5.2で検討した構文に従って解析されるuserPassword値を除いて、空の値(長さがゼロの文字列で構成される)は、DUAからクライアントに返されます。 DUAは、スキーマに適合しない(必須属性がない)エントリを拒否する必要があります。エントリの列挙中は、適合しないエントリを無視する必要があります(SHOULD)。

The nisObject object class MAY be used as a generic means of representing NIS entities. Its use is not encouraged; where support for entities not described in this schema is desired, an appropriate schema should be devised. Implementors are strongly advised to support end-user extensible mappings between NIS entities and object classes. (Where the nisObject class is used, the nisMapName attribute may be used as a RDN.)

nisObjectオブジェクトクラスは、NISエンティティを表す一般的な手段として使用できます。その使用は推奨されません。このスキーマで説明されていないエンティティのサポートが必要な場合は、適切なスキーマを考案する必要があります。実装者は、NISエンティティとオブジェクトクラス間のエンドユーザー拡張可能なマッピングをサポートすることを強くお勧めします。 (nisObjectクラスを使用する場合は、nisMapName属性をRDNとして使用できます。)

5.6. Canonicalizing entries with multi-valued naming attributes
5.6. 複数値のネーミング属性を持つエントリを正規化する

For entities such as hosts, services, networks, protocols, and RPCs, where there may be one or more aliases, the respective entry's relative distinguished name SHOULD be used to determine the canonical name. Any other values for the same attribute are used as aliases. For example, the service described in section 5.5 has the canonical name "domain" and exactly one alias, "nameserver".

ホスト、サービス、ネットワーク、プロトコル、RPCなどのエンティティの場合、1つ以上のエイリアスが存在する可能性があるため、それぞれのエントリの相対識別名を使用して正規名を決定する必要があります(SHOULD)。同じ属性の他の値はすべてエイリアスとして使用されます。たとえば、セクション5.5で説明するサービスには、正規名「ドメイン」と1つのエイリアス「nameserver」があります。

The schema in this document generally only defines one attribute per class which is suitable for distinguishing an entity (excluding any attributes with integer syntax; it is assumed that entries will be distinguished on name). Usually, this is the common name (cn) attribute. This aids the DUA in determining the canonical name of an entity, as it can examine the value of the relative distinguished name. Aliases are thus any values of the distinguishing attribute (such as cn) which do not match the canonical name of the entity.

このドキュメントのスキーマは通常、エンティティを区別するのに適したクラスごとに1つの属性のみを定義します(整数構文の属性は除きます。エントリは名前で区別されることが想定されています)。通常、これは共通名(cn)属性です。これは、相対識別名の値を検査できるため、DUAがエンティティーの正規名を判別するのに役立ちます。したがって、エイリアスは、エンティティの正規名と一致しない識別属性(cnなど)の値です。

In the event that a different attribute is used to distinguish the entry, as may be the case where these object classes are used as auxiliary classes, the entry's canonical name may not be present in the RDN. In this case, the DUA MUST choose one of the non-distinguished values to represent the entity's canonical name. As the directory server guarantees no ordering of attribute values, it may not be possible to distinguish an entry deterministically. This ambiguity SHOULD NOT be resolved by mapping one directory entry into multiple entities.

エントリを区別するために異なる属性が使用される場合、これらのオブジェクトクラスが補助クラスとして使用される場合のように、エントリの正規名がRDNに存在しない場合があります。この場合、DUAはエンティティの正規名を表すために、区別されていない値の1つを選択する必要があります。ディレクトリサーバーは属性値の順序付けを保証しないため、エントリを確定的に区別できない場合があります。このあいまいさは、1つのディレクトリエントリを複数のエンティティにマッピングすることによって解決してはなりません(SHOULD NOT)。

6. Implementation focus
6. 実装の焦点

A NIS server which uses LDAP instead of local files has been developed which supports the schema defined in this document.

このドキュメントで定義されているスキーマをサポートするローカルファイルの代わりにLDAPを使用するNISサーバーが開発されました。

A reference implementation of the C library resolution code has been written for the Free Software Foundation. It may support other C libraries which support the Name Service Switch (NSS) or the Information Retrieval Service (IRS).

Cライブラリ解決コードのリファレンス実装は、Free Software Foundation用に書かれています。 Name Service Switch(NSS)またはInformation Retrieval Service(IRS)をサポートする他のCライブラリをサポートする場合があります。

The author has made available a freely distributable set of scripts which parses local databases such as /etc/passwd and /etc/hosts into a form suitable for loading into an LDAP server.

著者は、/ etc / passwdや/ etc / hostsなどのローカルデータベースをLDAPサーバーにロードするのに適した形式に解析する、無料で配布可能なスクリプトのセットを提供しています。

7. Security Considerations
7. セキュリティに関する考慮事項

The entirety of related security considerations are outside the scope of this document. It is noted that making passwords encrypted with a widely understood hash function (such as crypt()) available to non-privileged users is dangerous because it exposes them to dictionary and brute-force attacks. This is proposed only for compatibility with existing UNIX system implementations. Sites where security is critical SHOULD consider using a strong authentication service for user authentication.

関連するセキュリティの考慮事項の全体は、このドキュメントの範囲外です。広く理解されているハッシュ関数(crypt()など)を使用してパスワードを暗号化すると、特権を持たないユーザーが辞書やブルートフォース攻撃にさらされるため危険です。これは、既存のUNIXシステム実装との互換性のためにのみ提案されています。セキュリティが重要なサイトでは、ユーザー認証に強力な認証サービスの使用を検討する必要があります。

Alternatively, the encrypted password could be made available only to a subset of privileged DUAs, which would provide "shadow" password service to client applications. This may be difficult to enforce.

または、暗号化されたパスワードを特権DUAのサブセットのみが利用できるようにすることもできます。これにより、クライアントアプリケーションに「シャドウ」パスワードサービスが提供されます。これを実施するのは難しいかもしれません。

Because the schema represents operating system-level entities, access to these entities SHOULD be granted on a discretionary basis. (There is little point in restricting access to data which will be republished without restriction, however.) It is particularly important that only administrators can modify entries defined in this schema, with the exception of allowing a principal to change their password (which may be done on behalf of the user by a client bound as a superior principal, such that password restrictions may be enforced). For example, if a user were allowed to change the value of their uidNumber attribute, they could subvert security by equivalencing their account with the superuser account.

スキーマはオペレーティングシステムレベルのエンティティを表すため、これらのエンティティへのアクセスは任意に許可する必要があります。 (ただし、制限なしで再発行されるデータへのアクセスを制限する意味はほとんどありません。)このスキーマで定義されたエントリを変更できるのは管理者だけであることが特に重要です。パスワードの制限が適用されるように、上位のプリンシパルとしてバインドされたクライアントによってユーザーの代わりに行われます。たとえば、ユーザーがuidNumber属性の値を変更することを許可されている場合、ユーザーは自分のアカウントをスーパーユーザーアカウントと同等にすることでセキュリティを破壊することができます。

A subtree of the DIT which is to be republished by a DUA (such as a NIS gateway) SHOULD be within the same administrative domain that the republishing DUA represents. (For example, principals outside an organization, while conceivably part of the DIT, should not be considered with the same degree of authority as those within the organization.)

DUA(NISゲートウェイなど)によって再発行されるDITのサブツリーは、再発行するDUAが表すのと同じ管理ドメイン内にある必要があります(SHOULD)。 (たとえば、組織外のプリンシパルは、おそらくDITの一部ですが、組織内のプリンシパルと同じ程度の権限を持つと見なされるべきではありません。)

Finally, care should be exercised with integer attributes of a sensitive nature (particularly the uidNumber and gidNumber attributes) which contain zero-length values. DUAs MAY treat such values as corresponding to the "nobody" or "nogroup" user and group, respectively.

最後に、長さがゼロの値を含む機密性の高い整数属性(特にuidNumber属性とgidNumber属性)には注意が必要です。 DUAは、そのような値を、「nobody」または「nogroup」のユーザーおよびグループにそれぞれ対応するものとして扱うことができます。

8. Acknowledgements
8. 謝辞

Thanks to Leif Hedstrom of Netscape Communications Corporation, Michael Grant and Rosanna Lee of Sun Microsystems Inc., Ed Reed of Novell Inc., and Mark Wahl of Critical Angle Inc. for their valuable contributions to the development of this schema. Thanks to Andrew Josey of The Open Group for clarifying the use of the UNIX trademark, and to Tim Howes and Peter J. Cherny for their support.

Netscape Communications CorporationのLeif Hedstrom、Sun Microsystems Inc.のMichael GrantとRosanna Lee、Novell Inc.のEd Reed、およびCritical Angle Inc.のMark Wahlに感謝します。 UNIX商標の使用法を明確にしてくれたThe Open GroupのAndrew Joseyに感謝し、Tim HowesとPeter J. Chernyのサポートに感謝します。

UNIX is a registered trademark of The Open Group.

UNIXは、The Open Groupの登録商標です。

9. References
9. 参考文献

[RFC1057] Sun Microsystems, Inc., "RPC: Remote Procedure Call: Protocol Specification Version 2", RFC 1057, June 1988.

[RFC1057] Sun Microsystems、Inc。、「RPC:Remote Procedure Call:Protocol Specification Version 2」、RFC 1057、1988年6月。

[RFC1279] Kille, S., "X.500 and Domains", RFC 1279, November 1991.

[RFC1279] Kille、S。、「X.500 and Domains」、RFC 1279、1991年11月。

[RFC1884] Hinden, R., and S. Deering, "IP Version 6 Addressing Architecture", RFC 1884, December 1995.

[RFC1884] Hinden、R。、およびS. Deering、「IPバージョン6アドレス指定アーキテクチャ」、RFC 1884、1995年12月。

[RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「RFCで使用して要件レベルを示すためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC2251] Wahl, M., Howes, T., and S. Kille, "Lightweight Directory Access Protocol (v3)", RFC 2251, December 1997.

[RFC2251] Wahl、M.、Howes、T。、およびS. Kille、「Lightweight Directory Access Protocol(v3)」、RFC 2251、1997年12月。

[RFC2252] Wahl, M., Coulbeck, A., Howes, T., and S. Kille, "Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions", RFC 2252, December 1997.

[RFC2252] Wahl、M.、Coulbeck、A.、Howes、T。、およびS. Kille、「Lightweight Directory Access Protocol(v3):Attribute Syntax Definitions」、RFC 2252、1997年12月。

[RFC2254] Howes, T., "The String Representation of LDAP Search Filters", RFC 2254, December 1997.

[RFC2254]ハウズT。、「LDAP検索フィルタの文字列表現」、RFC 2254、1997年12月。

[RFC2256] Wahl, M., "A Summary of the X.500(96) User Schema for use with LDAPv3", RFC 2256, December 1997.

[RFC2256] Wahl、M。、「LDAPv3で使用するX.500(96)ユーザースキーマの概要」、RFC 2256、1997年12月。

[ROSE] M. T. Rose, "The Little Black Book: Mail Bonding with OSI Directory Services", ISBN 0-13-683210-5, Prentice-Hall, Inc., 1992.

[ローズ] M. T.ローズ、「The Little Black Book:Mail Bonding with OSI Directory Services」、ISBN 0-13-683210-5、Prentice-Hall、Inc.、1992。

[X500] "Information Processing Systems - Open Systems Interconnection - The Directory: Overview of Concepts, Models and Service", ISO/IEC JTC 1/SC21, International Standard 9594-1, 1988.

[X500]「情報処理システム-オープンシステム相互接続-ディレクトリ:概念、モデル、サービスの概要」、ISO / IEC JTC 1 / SC21、国際規格9594-1、1988。

[XOPEN] ISO/IEC 9945-1:1990, Information Technology - Portable Operating Systems Interface (POSIX) - Part 1: Systems Application Programming Interface (API) [C Language]

[XOPEN] ISO / IEC 9945-1:1990、情報技術-ポータブルオペレーティングシステムインターフェイス(POSIX)-パート1:システムアプリケーションプログラミングインターフェイス(API)[C言語]

10. Author's Address
10. 著者のアドレス

Luke Howard PO Box 59 Central Park Vic 3145 Australia

ルークハワード私書箱59セントラルパークVic 3145オーストラリア

   EMail: lukeh@xedoc.com
        

A. Example entries

A.エントリの例

The examples described in this section are provided to illustrate the schema described in this memo. They are not meant to be exhaustive.

このセクションで説明する例は、このメモで説明されているスキーマを示すために提供されています。これらはすべてを網羅することを意図したものではありません。

The following entry is an example of the posixAccount class:

次のエントリは、posixAccountクラスの例です。

           dn: uid=lester, dc=aja, dc=com
           objectClass: top
           objectClass: account
           objectClass: posixAccount
           uid: lester
           cn: Lester the Nightfly
           userPassword: {crypt}X5/DBrWPOQQaI
           gecos: Lester
           loginShell: /bin/csh
           uidNumber: 10
           gidNumber: 10
           homeDirectory: /home/lester
        

This corresponds the UNIX system password file entry:

これは、UNIXシステムのパスワードファイルエントリに対応しています。

        lester:X5/DBrWPOQQaI:10:10:Lester:/home/lester:/bin/sh
        

The following entry is an example of the ipHost class:

次のエントリは、ipHostクラスの例です。

           dn: cn=peg.aja.com, dc=aja, dc=com
           objectClass: top
           objectClass: device
           objectClass: ipHost
           objectClass: bootableDevice
           objectClass: ieee802Device
           cn: peg.aja.com
           cn: www.aja.com
           ipHostNumber: 10.0.0.1
           macAddress: 00:00:92:90:ee:e2
           bootFile: mach
           bootParameter: root=fs:/nfsroot/peg
           bootParameter: swap=fs:/nfsswap/peg
           bootParameter: dump=fs:/nfsdump/peg
        

This entry represents the host canonically peg.aja.com, also known as www.aja.com. The Ethernet address and four boot parameters are also specified.

このエントリは、www.aja.comとしても知られる、peg.aja.comという正規のホストを表します。イーサネットアドレスと4つのブートパラメータも指定されています。

An example of the nisNetgroup class:

nisNetgroupクラスの例:

           dn: cn=nightfly, dc=aja, dc=com
           objectClass: top
           objectClass: nisNetgroup
           cn: nightfly
           nisNetgroupTriple: (charlemagne,peg,dunes.aja.com)
           nisNetgroupTriple: (lester,-,)
           memberNisNetgroup: kamakiriad
        

This entry represents the netgroup nightfly, which contains two triples (the user charlemagne, the host peg, and the domain dunes.aja.com; and, the user lester, no host, and any domain) and one netgroup (kamakiriad).

このエントリは、2つのトリプル(ユーザーcharlemagne、ホストペグ、ドメインdunes.aja.com、およびユーザーlester、ホストなし、ドメイン)と1つのネットグループ(kamakiriad)を含むネットグループナイトフライを表します。

Finally, an example of the nisObject class:

最後に、nisObjectクラスの例:

           dn: nisMapName=tracks, dc=dunes, dc=aja, dc=com
           objectClass: top
           objectClass: nisMap
           nisMapName: tracks
        
           dn: cn=Maxine, nisMapName=tracks, dc=dunes, dc=aja, dc=com
           objectClass: top
           objectClass: nisObject
           cn: Maxine
           nisMapName: tracks
           nisMapEntry: Nightfly$4
        

This entry represents the NIS map tracks, and a single map entry.

このエントリは、NISマップトラックと単一のマップエントリを表します。

Full Copyright Statement

完全な著作権表示

Copyright (C) The Internet Society (1998). All Rights Reserved.

Copyright(C)The Internet Society(1998)。全著作権所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができますただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、このドキュメント自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されない一切の保証を含みません。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。