]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/amd/ldap-id.ms
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / amd / ldap-id.ms
1 .pl 10.0i
2 .po 0
3 .ll 8.5i
4 .lt 8.5i
5 .nr LL 8.5i
6 .nr LT 8.5i
7 .ds LF Johansson
8 .ds RF [Page %]
9 .ds CF
10 .ds LH Internet draft
11 .ds RH 30 March 1998
12 .ds CH Berkeley AMD LDAP Schema
13 .hy 0
14 .ad l
15 .in 0
16 INTERNET-DRAFT                                                         Leif Johansson
17 Intented Category: Experimental                                  Stockholm University
18
19
20
21 .ce
22 A directory (X.500 and LDAPv3) schema for Berkely automounter
23
24
25 .ti 0
26 1. Status of this Memo
27
28 .fi
29 .in 3
30 This memo describes a directory (LDAP or X.500) schema for storing
31 amd (Berkely-style automounter) mount info maps. The schema is currently
32 beeing supported by the (beta version of the) am-utils version 6 package
33 [AMUTILS].
34
35 .ti 0
36 2. Overview and Rationale
37
38 Directory services such as X.500 [X500] or LDAP [RFC2251] are a natural
39 choice of repository for amd mount map databases. All Object Identifiers
40 in this document are prefixed by amdSchema-id to be assigned later. The
41 relation between this schema and the automount schema elements in [HOWARD]
42 are mostly superficial. The model for the elements in [HOWARD] was the SUN
43 automounter which has quite a different syntax for mount maps. Furthermore
44 the intended usage of this schema differs from that of [HOWARD] in many
45 respects.
46
47 .ti 0
48 3. DSA requirements
49
50 Directory servers implementing this schema SHOULD maintain the
51 modifyTimestamp operational attribute. If not the amdMapCacheTtl
52 attribute SHOULD be set to 0 indicating to clients that caching of
53 map entries SHOULD be turned off. Clients wishing to use the amdMap
54 schema MAY use the modifyTimestamp information to set the ttl for
55 internal caching schemes. A value of 0 for the amdMapCacheTtl must
56 result in clients turning off any local caching.
57
58 .ti 0
59 4. Syntax definitions
60
61 The following attribute syntax is defined in this document:
62
63      amdlocationlist
64
65 This syntax represents a amd map value. This is the syntax expressed
66 in BNF using definitions from [RFC2252]:
67
68      amdlocationlist      = amdlocationselection |
69                             amdlocationlist whsp "||" whsp amdlocationselection
70
71      amdlocationselection = amdlocation |
72                             amdlocationselection whsp amdlocation
73
74      amdlocation          = amdlocationinfo |
75                             "-" amdlocationinfo |
76                             "-"
77
78      amdlocationinfo      = seloropt |
79                             amdlocationinfo ";" seloropt |
80                             ";"
81
82      seloropt             = seletion |
83                             optass
84
85      selection            = keystring "==" printablestring
86                             keystring "!=" printablestring
87
88      optass               = keystring \":=\" printablestring
89
90 X.500 servers or LDAPv3 servers (supporting the binary attribute
91 option) may use the following syntax definition:
92
93      AmdLocationList ::= SEQUENCE OF {
94                             SEQUENCE OF {
95                                location     AmdLocation
96                             }
97                          }
98
99      AmdLocation     ::= SET OF {
100                             CHOICE {
101                                location     [0] AmdLocationInfo
102                                notlocation  [1] AmdLocationInfo
103                                not          [2] NULL
104                             }
105                          }
106
107      AmdLocationInfo ::= SET OF {
108                             CHOICE {
109                                selection    [0] AmdSelection
110                                option       [1] AmdOption
111                             }
112                          }
113
114      AmdSelection    ::= CHOICE {
115                             eq     [0] AttributeAndValue
116                             ne     [1] AttributeAndValue
117                          }
118
119      AmdOption       ::= AttributeAndValue
120
121      AttributeAndValue ::= SEQUENCE {
122                               attribute     IA5String
123                               value         IA5String
124                            }
125
126 .ti 0
127 5. Attribute types
128
129 The following attribute types are defined in this document:
130
131      amdMapName
132      amdMapCacheTtl
133      amdMapEntry
134      amdMapEntryKey
135      amdMapEntryValue
136
137      amdSchema-a OBJECT IDENTIFIER ::= { amdSchema-id 1 }
138
139      amdMapName
140         ATTRIBUTE ::= {
141            WITH SYNTAX              IA5String
142            EQUALITY MATCHING RULE   caseIgoreExactMatch
143            --ID                     { amdSchema-a 1 }
144            DESCRIPTION
145             "This attribute is the symbolic and in the naming
146              context unique name of an amd map. This corresponds
147              in the case of a flat file database to the name of
148              the file or the mount-point of the map."
149         }
150
151
152      amdMapCacheTtl
153         ATTRIBUTE ::= {
154            WITH SYNTAX              Integer
155            EQUALITY MATCHING RULE   integerExactMatch
156            --ID                     { amdSchema-a 2 }
157            SINGLE VALUED
158            DESCRIPTION
159             "The maximum time-to-live for the entries in this
160              map. After this many milliseconds the map has to
161              be cleared from local caches and reloaded. A value
162              of 0 disables caching."
163         }
164
165      amdMapEntry
166         ATTRIBUTE ::= {
167            WITH SYNTAX              DistinguishedName
168            EQUALITY MATHCING RULE   dNCaseIgnoreExactMatch
169            --ID                     { amdSchema-a 3 }
170            DESCRIPTION
171             "A multivalued attribute listing the distinguished
172              names of the amdMapEntries making up this amdMap
173              object."
174         }
175
176      amdMapEntryKey ::= {
177         ATTRIBUTE ::= {
178            WITH SYNTAX              IA5String
179            EQUALITY MATCHING RULE   stringExactMatch
180            --ID                     { amdSchema-a 4 }
181            SINGLE VALUED
182            DESCRIPTION
183             "The value of this attribute is usually the name of
184              a mountpoint for this amdMapEntry."
185         }
186
187      amdMapEntryValue ::= {
188         ATTRIBUTE ::= {
189            WITH SYNTAX              AmdLocationList
190            --ID                     { amdSchema-a 5 }
191            DESCRIPTION
192             "This is the actual mount information for the amdMapEntry
193              using the syntax described above."
194         }
195
196      amdMapEntryKey ::= {
197         ATTRIBUTE ::= {
198            WITH SYNTAX              IA5String
199            EQUALITY MATCHING RULE   stringExactMatch
200            --ID                     { amdSchema-a 4 }
201            SINGLE VALUED
202            DESCRIPTION
203             "The value of this attribute is usually the name of
204              a mountpoint for this amdMapEntry."
205         }
206
207      amdMapEntryValue ::= {
208         ATTRIBUTE ::= {
209            WITH SYNTAX              AmdLocationList
210            --ID                     { amdSchema-a 5 }
211            DESCRIPTION
212             "This is the actual mount information for the amdMapEntry
213              using the syntax described above."
214         }
215
216 .ti 0
217 6. Object classes
218
219 The following object classes are defined in this document:
220
221           amdMap
222           amdMapEntry
223
224 defined as follows:
225
226           amdSchema-oc ::= { amdSchema-id 2 }
227
228           amdMap OBJECT-CLASS ::= {
229                     SUBCLASS OF            { top }
230                     KIND                   auxiliary
231                     --ID                   { amdSchema-oc 1 }
232                     MAY CONTAIN            { amdMapCacheTtl , cn }
233                     MUST CONTAIN           { amdMapName , amdMapEntry }
234                  }
235
236           amdMapEntry OBJECT-CLASS ::= {
237                          SUBCLASS OF       { top }
238                          KIND              structural
239                          --ID              { amdSchema-oc 2 }
240                          MUST CONTAIN      {
241                                              amdMapName ,
242                                              amdEntryKey ,
243                                              amdEntryValue ,
244                                            }
245                          MAY CONTAIN       { cn }
246                          DESCRIPTION
247                           "An entry of this object class describes mount
248                            information relative to a certain amdMap entry"
249                       }
250
251 .ti 0
252 7. Examples
253
254
255
256 .ti 0
257 8. Security Considerations
258
259 Due to the security problems posed by NFS care should be taken not to
260 advertise exported filesystems. Therefore it is often desirable to limit
261 access to entries carrying amd mount map information to those systems
262 to which the corresponding filesystems have been exported.
263
264 .ti 0
265 9. References
266
267    [AMUTILS]
268         am-utils homepage: http://shekel.cs.columbia.edu/~erez/am-utils.html
269
270    [RFC2251]
271         M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access
272         Protocol (v3)", RFC 2251, December 1997.
273
274    [RFC2252]
275         M. Wahl, A. Coulbeck, T. Howes, S. Kille, "Lightweight Directory
276         Access Protocol (v3): Attribute Syntax Definitions", RFC 2252,
277         December 1997.
278
279    [RFC2253]
280         M. Wahl, S. Kille, T. Howes, "Lightweight Directory Access
281         Protocol (v3): UTF-8 String Representation of Distinguished
282         Names", RFC 2253, December 1997.
283
284    [HOWARD]
285         Luke Howard, "An Approach for Using LDAP as a Network
286         Information Service", draft-howard-nis-schema-??.txt, Internet
287         draft.
288
289    [X500]
290         ITU something or other.
291
292 .in 3
293
294
295 .ti 0
296 Author's Address
297
298 .nf
299
300 Leif Johansson
301 Department of Mathematics
302 Stockholm University
303 S-106 91 Stockholm
304          SWEDEN
305
306 Email: leifj@matematik.su.se