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