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