 |
|
|
| |
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