12 .ds CH Berkeley AMD LDAP Schema
16 INTERNET-DRAFT Leif Johansson
17 Intented Category: Experimental Stockholm University
22 A directory (X.500 and LDAPv3) schema for Berkely automounter
26 1. Status of this Memo
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
36 2. Overview and Rationale
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
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.
61 The following attribute syntax is defined in this document:
65 This syntax represents a amd map value. This is the syntax expressed
66 in BNF using definitions from [RFC2252]:
68 amdlocationlist = amdlocationselection |
69 amdlocationlist whsp "||" whsp amdlocationselection
71 amdlocationselection = amdlocation |
72 amdlocationselection whsp amdlocation
74 amdlocation = amdlocationinfo |
78 amdlocationinfo = seloropt |
79 amdlocationinfo ";" seloropt |
85 selection = keystring "==" printablestring
86 keystring "!=" printablestring
88 optass = keystring \":=\" printablestring
90 X.500 servers or LDAPv3 servers (supporting the binary attribute
91 option) may use the following syntax definition:
93 AmdLocationList ::= SEQUENCE OF {
99 AmdLocation ::= SET OF {
101 location [0] AmdLocationInfo
102 notlocation [1] AmdLocationInfo
107 AmdLocationInfo ::= SET OF {
109 selection [0] AmdSelection
114 AmdSelection ::= CHOICE {
115 eq [0] AttributeAndValue
116 ne [1] AttributeAndValue
119 AmdOption ::= AttributeAndValue
121 AttributeAndValue ::= SEQUENCE {
129 The following attribute types are defined in this document:
137 amdSchema-a OBJECT IDENTIFIER ::= { amdSchema-id 1 }
141 WITH SYNTAX IA5String
142 EQUALITY MATCHING RULE caseIgoreExactMatch
143 --ID { amdSchema-a 1 }
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."
155 EQUALITY MATCHING RULE integerExactMatch
156 --ID { amdSchema-a 2 }
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."
167 WITH SYNTAX DistinguishedName
168 EQUALITY MATHCING RULE dNCaseIgnoreExactMatch
169 --ID { amdSchema-a 3 }
171 "A multivalued attribute listing the distinguished
172 names of the amdMapEntries making up this amdMap
178 WITH SYNTAX IA5String
179 EQUALITY MATCHING RULE stringExactMatch
180 --ID { amdSchema-a 4 }
183 "The value of this attribute is usually the name of
184 a mountpoint for this amdMapEntry."
187 amdMapEntryValue ::= {
189 WITH SYNTAX AmdLocationList
190 --ID { amdSchema-a 5 }
192 "This is the actual mount information for the amdMapEntry
193 using the syntax described above."
198 WITH SYNTAX IA5String
199 EQUALITY MATCHING RULE stringExactMatch
200 --ID { amdSchema-a 4 }
203 "The value of this attribute is usually the name of
204 a mountpoint for this amdMapEntry."
207 amdMapEntryValue ::= {
209 WITH SYNTAX AmdLocationList
210 --ID { amdSchema-a 5 }
212 "This is the actual mount information for the amdMapEntry
213 using the syntax described above."
219 The following object classes are defined in this document:
226 amdSchema-oc ::= { amdSchema-id 2 }
228 amdMap OBJECT-CLASS ::= {
231 --ID { amdSchema-oc 1 }
232 MAY CONTAIN { amdMapCacheTtl , cn }
233 MUST CONTAIN { amdMapName , amdMapEntry }
236 amdMapEntry OBJECT-CLASS ::= {
239 --ID { amdSchema-oc 2 }
247 "An entry of this object class describes mount
248 information relative to a certain amdMap entry"
257 8. Security Considerations
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.
268 am-utils homepage: http://shekel.cs.columbia.edu/~erez/am-utils.html
271 M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access
272 Protocol (v3)", RFC 2251, December 1997.
275 M. Wahl, A. Coulbeck, T. Howes, S. Kille, "Lightweight Directory
276 Access Protocol (v3): Attribute Syntax Definitions", RFC 2252,
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.
285 Luke Howard, "An Approach for Using LDAP as a Network
286 Information Service", draft-howard-nis-schema-??.txt, Internet
290 ITU something or other.
301 Department of Mathematics
306 Email: leifj AT matematik.su.se