summaryrefslogtreecommitdiffstats
path: root/servers/slapd/schema/nis.schema
blob: 1322fe52166fe8f57f336a650dd97cf70920802d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2022 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.

# Definitions from RFC2307 (Experimental)
#	An Approach for Using LDAP as a Network Information Service

# Depends upon core.schema and cosine.schema

# Note: The definitions in RFC2307 are given in syntaxes closely related
# to those in RFC2252, however, some liberties are taken that are not
# supported by RFC2252.  This file has been written following RFC2252
# strictly.

# OID Base is iso(1) org(3) dod(6) internet(1) directory(1) nisSchema(1).
# i.e. nisSchema in RFC2307 is 1.3.6.1.1.1
#
# Syntaxes are under 1.3.6.1.1.1.0 (two new syntaxes are defined)
#	validaters for these syntaxes are incomplete, they only
#	implement printable string validation (which is good as the
#	common use of these syntaxes violates the specification).
# Attribute types are under 1.3.6.1.1.1.1
# Object classes are under 1.3.6.1.1.1.2

# Attribute Type Definitions

# builtin
#attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
#	DESC 'An integer uniquely identifying a user in an administrative domain'
#	EQUALITY integerMatch
#	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

# builtin
#attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
#	DESC 'An integer uniquely identifying a group in an administrative domain'
#	EQUALITY integerMatch
#	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
	DESC 'The GECOS field; the common name'
	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'
	DESC 'The absolute path to the home directory'
	EQUALITY caseExactIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell'
	DESC 'The path to the login shell'
	EQUALITY caseExactIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid'
	EQUALITY caseExactIA5Match
	SUBSTR caseExactIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup'
	EQUALITY caseExactIA5Match
	SUBSTR caseExactIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple'
	DESC 'Netgroup triple'
	SYNTAX 1.3.6.1.1.1.0.0 )

attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol'
	SUP name )

attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber'
	DESC 'IP address'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )

attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber'
	DESC 'IP network'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber'
	DESC 'IP netmask'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )

attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress'
	DESC 'MAC address'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )

attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter'
	DESC 'rpc.bootparamd parameter'
	SYNTAX 1.3.6.1.1.1.0.1 )

attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile'
	DESC 'Boot image name'
	EQUALITY caseExactIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName'
	SUP name )

attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry'
	EQUALITY caseExactIA5Match
	SUBSTR caseExactIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} SINGLE-VALUE )

# Object Class Definitions

objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
	DESC 'Abstraction of an account with POSIX attributes'
	SUP top AUXILIARY
	MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
	MAY ( userPassword $ loginShell $ gecos $ description ) )

objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount'
	DESC 'Additional attributes for shadow passwords'
	SUP top AUXILIARY
	MUST uid
	MAY ( userPassword $ shadowLastChange $ shadowMin $
	      shadowMax $ shadowWarning $ shadowInactive $
	      shadowExpire $ shadowFlag $ description ) )

objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup'
	DESC 'Abstraction of a group of accounts'
	SUP top STRUCTURAL
	MUST ( cn $ gidNumber )
	MAY ( userPassword $ memberUid $ description ) )

objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService'
	DESC 'Abstraction an Internet Protocol service'
	SUP top STRUCTURAL
	MUST ( cn $ ipServicePort $ ipServiceProtocol )
	MAY ( description ) )

objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol'
	DESC 'Abstraction of an IP protocol'
	SUP top STRUCTURAL
	MUST ( cn $ ipProtocolNumber $ description )
	MAY description )

objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc'
	DESC 'Abstraction of an ONC/RPC binding'
	SUP top STRUCTURAL
	MUST ( cn $ oncRpcNumber $ description )
	MAY description )

objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
	DESC 'Abstraction of a host, an IP device'
	SUP top AUXILIARY
	MUST ( cn $ ipHostNumber )
	MAY ( l $ description $ manager ) )

objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork'
	DESC 'Abstraction of an IP network'
	SUP top STRUCTURAL
	MUST ( cn $ ipNetworkNumber )
	MAY ( ipNetmaskNumber $ l $ description $ manager ) )

objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup'
	DESC 'Abstraction of a netgroup'
	SUP top STRUCTURAL
	MUST cn
	MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )

objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap'
	DESC 'A generic abstraction of a NIS map'
	SUP top STRUCTURAL
	MUST nisMapName
	MAY description )

objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject'
	DESC 'An entry in a NIS map'
	SUP top STRUCTURAL
	MUST ( cn $ nisMapEntry $ nisMapName )
	MAY description )

objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device'
	DESC 'A device with a MAC address'
	SUP top AUXILIARY
	MAY macAddress )

objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
	DESC 'A device with boot parameters'
	SUP top AUXILIARY
	MAY ( bootFile $ bootParameter ) )