2 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 ## Copyright 1998-2013 The OpenLDAP Foundation.
5 ## All rights reserved.
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted only as authorized by the OpenLDAP
11 ## A copy of this license is available in the file LICENSE in the
12 ## top-level directory of the distribution or, alternatively, at
13 ## <http://www.OpenLDAP.org/license.html>.
15 # Definitions from RFC2307 (Experimental)
16 # An Approach for Using LDAP as a Network Information Service
18 # Depends upon core.schema and cosine.schema
20 # Note: The definitions in RFC2307 are given in syntaxes closely related
21 # to those in RFC2252, however, some liberties are taken that are not
22 # supported by RFC2252. This file has been written following RFC2252
25 # OID Base is iso(1) org(3) dod(6) internet(1) directory(1) nisSchema(1).
26 # i.e. nisSchema in RFC2307 is 1.3.6.1.1.1
28 # Syntaxes are under 1.3.6.1.1.1.0 (two new syntaxes are defined)
29 # validaters for these syntaxes are incomplete, they only
30 # implement printable string validation (which is good as the
31 # common use of these syntaxes violates the specification).
32 # Attribute types are under 1.3.6.1.1.1.1
33 # Object classes are under 1.3.6.1.1.1.2
35 # Attribute Type Definitions
38 #attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
39 # DESC 'An integer uniquely identifying a user in an administrative domain'
40 # EQUALITY integerMatch
41 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
44 #attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
45 # DESC 'An integer uniquely identifying a group in an administrative domain'
46 # EQUALITY integerMatch
47 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
49 attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
50 DESC 'The GECOS field; the common name'
51 EQUALITY caseIgnoreIA5Match
52 SUBSTR caseIgnoreIA5SubstringsMatch
53 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
55 attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'
56 DESC 'The absolute path to the home directory'
57 EQUALITY caseExactIA5Match
58 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
60 attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell'
61 DESC 'The path to the login shell'
62 EQUALITY caseExactIA5Match
63 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
65 attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange'
67 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
69 attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin'
71 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
73 attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax'
75 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
77 attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning'
79 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
81 attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive'
83 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
85 attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire'
87 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
89 attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag'
91 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
93 attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid'
94 EQUALITY caseExactIA5Match
95 SUBSTR caseExactIA5SubstringsMatch
96 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
98 attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup'
99 EQUALITY caseExactIA5Match
100 SUBSTR caseExactIA5SubstringsMatch
101 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
103 attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple'
104 DESC 'Netgroup triple'
105 SYNTAX 1.3.6.1.1.1.0.0 )
107 attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort'
108 EQUALITY integerMatch
109 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
111 attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol'
114 attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber'
115 EQUALITY integerMatch
116 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
118 attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber'
119 EQUALITY integerMatch
120 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
122 attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber'
124 EQUALITY caseIgnoreIA5Match
125 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
127 attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber'
129 EQUALITY caseIgnoreIA5Match
130 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
132 attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber'
134 EQUALITY caseIgnoreIA5Match
135 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
137 attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress'
139 EQUALITY caseIgnoreIA5Match
140 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
142 attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter'
143 DESC 'rpc.bootparamd parameter'
144 SYNTAX 1.3.6.1.1.1.0.1 )
146 attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile'
147 DESC 'Boot image name'
148 EQUALITY caseExactIA5Match
149 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
151 attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName'
154 attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry'
155 EQUALITY caseExactIA5Match
156 SUBSTR caseExactIA5SubstringsMatch
157 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} SINGLE-VALUE )
159 # Object Class Definitions
161 objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
162 DESC 'Abstraction of an account with POSIX attributes'
164 MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
165 MAY ( userPassword $ loginShell $ gecos $ description ) )
167 objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount'
168 DESC 'Additional attributes for shadow passwords'
171 MAY ( userPassword $ shadowLastChange $ shadowMin $
172 shadowMax $ shadowWarning $ shadowInactive $
173 shadowExpire $ shadowFlag $ description ) )
175 objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup'
176 DESC 'Abstraction of a group of accounts'
178 MUST ( cn $ gidNumber )
179 MAY ( userPassword $ memberUid $ description ) )
181 objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService'
182 DESC 'Abstraction an Internet Protocol service'
184 MUST ( cn $ ipServicePort $ ipServiceProtocol )
185 MAY ( description ) )
187 objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol'
188 DESC 'Abstraction of an IP protocol'
190 MUST ( cn $ ipProtocolNumber $ description )
193 objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc'
194 DESC 'Abstraction of an ONC/RPC binding'
196 MUST ( cn $ oncRpcNumber $ description )
199 objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
200 DESC 'Abstraction of a host, an IP device'
202 MUST ( cn $ ipHostNumber )
203 MAY ( l $ description $ manager ) )
205 objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork'
206 DESC 'Abstraction of an IP network'
208 MUST ( cn $ ipNetworkNumber )
209 MAY ( ipNetmaskNumber $ l $ description $ manager ) )
211 objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup'
212 DESC 'Abstraction of a netgroup'
215 MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )
217 objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap'
218 DESC 'A generic abstraction of a NIS map'
223 objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject'
224 DESC 'An entry in a NIS map'
226 MUST ( cn $ nisMapEntry $ nisMapName )
229 objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device'
230 DESC 'A device with a MAC address'
234 objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
235 DESC 'A device with boot parameters'
237 MAY ( bootFile $ bootParameter ) )