r20578: - allocate an OID range for samba4 LDB/LDAP Controls
[nivanova/samba-autobuild/.git] / examples / LDAP / samba.schema
1 ##
2 ## schema file for OpenLDAP 2.x
3 ## Schema for storing Samba user accounts and group maps in LDAP
4 ## OIDs are owned by the Samba Team
5 ##
6 ## Prerequisite schemas - uid         (cosine.schema)
7 ##                      - displayName (inetorgperson.schema)
8 ##                      - gidNumber   (nis.schema)
9 ##
10 ## 1.3.6.1.4.1.7165.2.1.x - attributetypes
11 ## 1.3.6.1.4.1.7165.2.2.x - objectclasses
12 ##
13 ## Printer support
14 ## 1.3.6.1.4.1.7165.2.3.1.x - attributetypes
15 ## 1.3.6.1.4.1.7165.2.3.2.x - objectclasses
16 ##
17 ## Samba4
18 ## 1.3.6.1.4.1.7165.4.1.x - attributetypes
19 ## 1.3.6.1.4.1.7165.4.2.x - objectclasses
20 ## 1.3.6.1.4.1.7165.4.3.x - LDB/LDAP Controls
21 ## 1.3.6.1.4.1.7165.4.255.x - mapped OIDs due to conflicts between AD and standards-track
22 ##
23 ## ----- READ THIS WHEN ADDING A NEW ATTRIBUTE OR OBJECT CLASS ------
24 ##
25 ## Run the 'get_next_oid' bash script in this directory to find the 
26 ## next available OID for attribute type and object classes.
27 ##
28 ##   $ ./get_next_oid
29 ##   attributetype ( 1.3.6.1.4.1.7165.2.1.XX NAME ....
30 ##   objectclass ( 1.3.6.1.4.1.7165.2.2.XX NAME ....
31 ##
32 ## Also ensure that new entries adhere to the declaration style
33 ## used throughout this file
34 ##
35 ##    <attributetype|objectclass> ( 1.3.6.1.4.1.7165.2.XX.XX NAME ....
36 ##                               ^ ^                        ^
37 ##
38 ## The spaces are required for the get_next_oid script (and for 
39 ## readability).
40 ##
41 ## ------------------------------------------------------------------
42
43 # objectIdentifier SambaRoot 1.3.6.1.4.1.7165
44 # objectIdentifier Samba3 SambaRoot:2
45 # objectIdentifier Samba3Attrib Samba3:1
46 # objectIdentifier Samba3ObjectClass Samba3:2
47 # objectIdentifier Samba4 SambaRoot:4
48
49 ########################################################################
50 ##                            HISTORICAL                              ##
51 ########################################################################
52
53 ##
54 ## Password hashes
55 ##
56 #attributetype ( 1.3.6.1.4.1.7165.2.1.1 NAME 'lmPassword'
57 #       DESC 'LanManager Passwd'
58 #       EQUALITY caseIgnoreIA5Match
59 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
60
61 #attributetype ( 1.3.6.1.4.1.7165.2.1.2 NAME 'ntPassword'
62 #       DESC 'NT Passwd'
63 #       EQUALITY caseIgnoreIA5Match
64 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
65
66 ##
67 ## Account flags in string format ([UWDX     ])
68 ##
69 #attributetype ( 1.3.6.1.4.1.7165.2.1.4 NAME 'acctFlags'
70 #       DESC 'Account Flags'
71 #       EQUALITY caseIgnoreIA5Match
72 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )
73
74 ##
75 ## Password timestamps & policies
76 ##
77 #attributetype ( 1.3.6.1.4.1.7165.2.1.3 NAME 'pwdLastSet'
78 #       DESC 'NT pwdLastSet'
79 #       EQUALITY integerMatch
80 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
81
82 #attributetype ( 1.3.6.1.4.1.7165.2.1.5 NAME 'logonTime'
83 #       DESC 'NT logonTime'
84 #       EQUALITY integerMatch
85 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
86
87 #attributetype ( 1.3.6.1.4.1.7165.2.1.6 NAME 'logoffTime'
88 #       DESC 'NT logoffTime'
89 #       EQUALITY integerMatch
90 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
91
92 #attributetype ( 1.3.6.1.4.1.7165.2.1.7 NAME 'kickoffTime'
93 #       DESC 'NT kickoffTime'
94 #       EQUALITY integerMatch
95 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
96
97 #attributetype ( 1.3.6.1.4.1.7165.2.1.8 NAME 'pwdCanChange'
98 #       DESC 'NT pwdCanChange'
99 #       EQUALITY integerMatch
100 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
101
102 #attributetype ( 1.3.6.1.4.1.7165.2.1.9 NAME 'pwdMustChange'
103 #       DESC 'NT pwdMustChange'
104 #       EQUALITY integerMatch
105 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
106
107 ##
108 ## string settings
109 ##
110 #attributetype ( 1.3.6.1.4.1.7165.2.1.10 NAME 'homeDrive'
111 #       DESC 'NT homeDrive'
112 #       EQUALITY caseIgnoreIA5Match
113 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE )
114
115 #attributetype ( 1.3.6.1.4.1.7165.2.1.11 NAME 'scriptPath'
116 #       DESC 'NT scriptPath'
117 #       EQUALITY caseIgnoreIA5Match
118 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
119
120 #attributetype ( 1.3.6.1.4.1.7165.2.1.12 NAME 'profilePath'
121 #       DESC 'NT profilePath'
122 #       EQUALITY caseIgnoreIA5Match
123 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
124
125 #attributetype ( 1.3.6.1.4.1.7165.2.1.13 NAME 'userWorkstations'
126 #       DESC 'userWorkstations'
127 #       EQUALITY caseIgnoreIA5Match
128 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
129
130 #attributetype ( 1.3.6.1.4.1.7165.2.1.17 NAME 'smbHome'
131 #       DESC 'smbHome'
132 #       EQUALITY caseIgnoreIA5Match
133 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
134
135 #attributetype ( 1.3.6.1.4.1.7165.2.1.18 NAME 'domain'
136 #       DESC 'Windows NT domain to which the user belongs'
137 #       EQUALITY caseIgnoreIA5Match
138 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
139
140 ##
141 ## user and group RID
142 ##
143 #attributetype ( 1.3.6.1.4.1.7165.2.1.14 NAME 'rid'
144 #       DESC 'NT rid'
145 #       EQUALITY integerMatch
146 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
147
148 #attributetype ( 1.3.6.1.4.1.7165.2.1.15 NAME 'primaryGroupID'
149 #       DESC 'NT Group RID'
150 #       EQUALITY integerMatch
151 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
152
153 ##
154 ## The smbPasswordEntry objectclass has been depreciated in favor of the
155 ## sambaAccount objectclass
156 ##
157 #objectclass ( 1.3.6.1.4.1.7165.2.2.1 NAME 'smbPasswordEntry' SUP top AUXILIARY
158 #        DESC 'Samba smbpasswd entry'
159 #        MUST ( uid $ uidNumber )
160 #        MAY  ( lmPassword $ ntPassword $ pwdLastSet $ acctFlags ))
161
162 #objectclass ( 1.3.6.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
163 #       DESC 'Samba Account'
164 #       MUST ( uid $ rid )
165 #       MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
166 #               logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $
167 #               displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
168 #               description $ userWorkstations $ primaryGroupID $ domain ))
169
170 #objectclass ( 1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' SUP top AUXILIARY
171 #       DESC 'Samba Auxiliary Account'
172 #       MUST ( uid $ rid )
173 #       MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
174 #              logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $
175 #              displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
176 #              description $ userWorkstations $ primaryGroupID $ domain ))
177
178 ########################################################################
179 ##                        END OF HISTORICAL                           ##
180 ########################################################################
181
182 #######################################################################
183 ##                Attributes used by Samba 3.0 schema                ##
184 #######################################################################
185
186 ##
187 ## Password hashes
188 ##
189 attributetype ( 1.3.6.1.4.1.7165.2.1.24 NAME 'sambaLMPassword'
190         DESC 'LanManager Password'
191         EQUALITY caseIgnoreIA5Match
192         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
193
194 attributetype ( 1.3.6.1.4.1.7165.2.1.25 NAME 'sambaNTPassword'
195         DESC 'MD4 hash of the unicode password'
196         EQUALITY caseIgnoreIA5Match
197         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
198
199 ##
200 ## Account flags in string format ([UWDX     ])
201 ##
202 attributetype ( 1.3.6.1.4.1.7165.2.1.26 NAME 'sambaAcctFlags'
203         DESC 'Account Flags'
204         EQUALITY caseIgnoreIA5Match
205         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )
206
207 ##
208 ## Password timestamps & policies
209 ##
210 attributetype ( 1.3.6.1.4.1.7165.2.1.27 NAME 'sambaPwdLastSet'
211         DESC 'Timestamp of the last password update'
212         EQUALITY integerMatch
213         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
214
215 attributetype ( 1.3.6.1.4.1.7165.2.1.28 NAME 'sambaPwdCanChange'
216         DESC 'Timestamp of when the user is allowed to update the password'
217         EQUALITY integerMatch
218         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
219
220 attributetype ( 1.3.6.1.4.1.7165.2.1.29 NAME 'sambaPwdMustChange'
221         DESC 'Timestamp of when the password will expire'
222         EQUALITY integerMatch
223         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
224
225 attributetype ( 1.3.6.1.4.1.7165.2.1.30 NAME 'sambaLogonTime'
226         DESC 'Timestamp of last logon'
227         EQUALITY integerMatch
228         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
229
230 attributetype ( 1.3.6.1.4.1.7165.2.1.31 NAME 'sambaLogoffTime'
231         DESC 'Timestamp of last logoff'
232         EQUALITY integerMatch
233         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
234
235 attributetype ( 1.3.6.1.4.1.7165.2.1.32 NAME 'sambaKickoffTime'
236         DESC 'Timestamp of when the user will be logged off automatically'
237         EQUALITY integerMatch
238         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
239
240 attributetype ( 1.3.6.1.4.1.7165.2.1.48 NAME 'sambaBadPasswordCount'
241         DESC 'Bad password attempt count'
242         EQUALITY integerMatch
243         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
244
245 attributetype ( 1.3.6.1.4.1.7165.2.1.49 NAME 'sambaBadPasswordTime'
246         DESC 'Time of the last bad password attempt'
247         EQUALITY integerMatch
248         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
249
250 attributetype ( 1.3.6.1.4.1.7165.2.1.55 NAME 'sambaLogonHours'
251         DESC 'Logon Hours'
252         EQUALITY caseIgnoreIA5Match
253         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{42} SINGLE-VALUE )
254
255 ##
256 ## string settings
257 ##
258 attributetype ( 1.3.6.1.4.1.7165.2.1.33 NAME 'sambaHomeDrive'
259         DESC 'Driver letter of home directory mapping'
260         EQUALITY caseIgnoreIA5Match
261         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE )
262
263 attributetype ( 1.3.6.1.4.1.7165.2.1.34 NAME 'sambaLogonScript'
264         DESC 'Logon script path'
265         EQUALITY caseIgnoreMatch
266         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )
267
268 attributetype ( 1.3.6.1.4.1.7165.2.1.35 NAME 'sambaProfilePath'
269         DESC 'Roaming profile path'
270         EQUALITY caseIgnoreMatch
271         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )
272
273 attributetype ( 1.3.6.1.4.1.7165.2.1.36 NAME 'sambaUserWorkstations'
274         DESC 'List of user workstations the user is allowed to logon to'
275         EQUALITY caseIgnoreMatch
276         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )
277
278 attributetype ( 1.3.6.1.4.1.7165.2.1.37 NAME 'sambaHomePath'
279         DESC 'Home directory UNC path'
280         EQUALITY caseIgnoreMatch
281         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
282
283 attributetype ( 1.3.6.1.4.1.7165.2.1.38 NAME 'sambaDomainName'
284         DESC 'Windows NT domain to which the user belongs'
285         EQUALITY caseIgnoreMatch
286         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
287
288 attributetype ( 1.3.6.1.4.1.7165.2.1.47 NAME 'sambaMungedDial'
289         DESC 'Base64 encoded user parameter string'
290         EQUALITY caseExactMatch
291         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1050} )
292
293 attributetype ( 1.3.6.1.4.1.7165.2.1.54 NAME 'sambaPasswordHistory'
294         DESC 'Concatenated MD4 hashes of the unicode passwords used on this account'
295         EQUALITY caseIgnoreIA5Match
296         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} )
297
298 ##
299 ## SID, of any type
300 ##
301
302 attributetype ( 1.3.6.1.4.1.7165.2.1.20 NAME 'sambaSID'
303         DESC 'Security ID'
304         EQUALITY caseIgnoreIA5Match
305         SUBSTR caseExactIA5SubstringsMatch
306         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE )
307
308 ##
309 ## Primary group SID, compatible with ntSid
310 ##
311
312 attributetype ( 1.3.6.1.4.1.7165.2.1.23 NAME 'sambaPrimaryGroupSID'
313         DESC 'Primary Group Security ID'
314         EQUALITY caseIgnoreIA5Match
315         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE )
316
317 attributetype ( 1.3.6.1.4.1.7165.2.1.51 NAME 'sambaSIDList'
318         DESC 'Security ID List'
319         EQUALITY caseIgnoreIA5Match
320         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} )
321
322 ##
323 ## group mapping attributes
324 ##
325 attributetype ( 1.3.6.1.4.1.7165.2.1.19 NAME 'sambaGroupType'
326         DESC 'NT Group Type'
327         EQUALITY integerMatch
328         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
329
330 ##
331 ## Store info on the domain
332 ##
333
334 attributetype ( 1.3.6.1.4.1.7165.2.1.21 NAME 'sambaNextUserRid'
335         DESC 'Next NT rid to give our for users'
336         EQUALITY integerMatch
337         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
338
339 attributetype ( 1.3.6.1.4.1.7165.2.1.22 NAME 'sambaNextGroupRid'
340         DESC 'Next NT rid to give out for groups'
341         EQUALITY integerMatch
342         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
343
344 attributetype ( 1.3.6.1.4.1.7165.2.1.39 NAME 'sambaNextRid'
345         DESC 'Next NT rid to give out for anything'
346         EQUALITY integerMatch
347         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
348
349 attributetype ( 1.3.6.1.4.1.7165.2.1.40 NAME 'sambaAlgorithmicRidBase'
350         DESC 'Base at which the samba RID generation algorithm should operate'
351         EQUALITY integerMatch
352         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
353
354 attributetype ( 1.3.6.1.4.1.7165.2.1.41 NAME 'sambaShareName'
355         DESC 'Share Name'
356         EQUALITY caseIgnoreMatch
357         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
358
359 attributetype ( 1.3.6.1.4.1.7165.2.1.42 NAME 'sambaOptionName'
360         DESC 'Option Name'
361         EQUALITY caseIgnoreMatch
362         SUBSTR caseIgnoreSubstringsMatch
363         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
364
365 attributetype ( 1.3.6.1.4.1.7165.2.1.43 NAME 'sambaBoolOption'
366         DESC 'A boolean option'
367         EQUALITY booleanMatch
368         SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
369
370 attributetype ( 1.3.6.1.4.1.7165.2.1.44 NAME 'sambaIntegerOption'
371         DESC 'An integer option'
372         EQUALITY integerMatch
373         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
374
375 attributetype ( 1.3.6.1.4.1.7165.2.1.45 NAME 'sambaStringOption'
376         DESC 'A string option'
377         EQUALITY caseExactIA5Match
378         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
379
380 attributetype ( 1.3.6.1.4.1.7165.2.1.46 NAME 'sambaStringListOption'
381         DESC 'A string list option'
382         EQUALITY caseIgnoreMatch
383         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
384
385
386 ##attributetype ( 1.3.6.1.4.1.7165.2.1.50 NAME 'sambaPrivName' 
387 ##      SUP name )
388
389 ##attributetype ( 1.3.6.1.4.1.7165.2.1.52 NAME 'sambaPrivilegeList'
390 ##      DESC 'Privileges List'
391 ##      EQUALITY caseIgnoreIA5Match
392 ##      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} )
393
394 attributetype ( 1.3.6.1.4.1.7165.2.1.53 NAME 'sambaTrustFlags'
395         DESC 'Trust Password Flags'
396         EQUALITY caseIgnoreIA5Match
397         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
398
399 # "min password length"
400 attributetype ( 1.3.6.1.4.1.7165.2.1.58 NAME 'sambaMinPwdLength'
401         DESC 'Minimal password length (default: 5)'
402         EQUALITY integerMatch
403         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
404
405 # "password history"
406 attributetype ( 1.3.6.1.4.1.7165.2.1.59 NAME 'sambaPwdHistoryLength'
407         DESC 'Length of Password History Entries (default: 0 => off)'
408         EQUALITY integerMatch
409         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
410
411 # "user must logon to change password"
412 attributetype ( 1.3.6.1.4.1.7165.2.1.60 NAME 'sambaLogonToChgPwd'
413         DESC 'Force Users to logon for password change (default: 0 => off, 2 => on)'
414         EQUALITY integerMatch
415         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
416
417 # "maximum password age"
418 attributetype ( 1.3.6.1.4.1.7165.2.1.61 NAME 'sambaMaxPwdAge'
419         DESC 'Maximum password age, in seconds (default: -1 => never expire passwords)'
420         EQUALITY integerMatch
421         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
422
423 # "minimum password age"
424 attributetype ( 1.3.6.1.4.1.7165.2.1.62 NAME 'sambaMinPwdAge'
425         DESC 'Minimum password age, in seconds (default: 0 => allow immediate password change)'
426         EQUALITY integerMatch
427         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
428
429 # "lockout duration"
430 attributetype ( 1.3.6.1.4.1.7165.2.1.63 NAME 'sambaLockoutDuration'
431         DESC 'Lockout duration in minutes (default: 30, -1 => forever)'
432         EQUALITY integerMatch
433         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
434
435 # "reset count minutes"
436 attributetype ( 1.3.6.1.4.1.7165.2.1.64 NAME 'sambaLockoutObservationWindow'
437         DESC 'Reset time after lockout in minutes (default: 30)'
438         EQUALITY integerMatch
439         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
440
441 # "bad lockout attempt"
442 attributetype ( 1.3.6.1.4.1.7165.2.1.65 NAME 'sambaLockoutThreshold'
443         DESC 'Lockout users after bad logon attempts (default: 0 => off)'
444         EQUALITY integerMatch
445         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
446
447 # "disconnect time"
448 attributetype ( 1.3.6.1.4.1.7165.2.1.66 NAME 'sambaForceLogoff'
449         DESC 'Disconnect Users outside logon hours (default: -1 => off, 0 => on)'
450         EQUALITY integerMatch
451         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
452
453 # "refuse machine password change"
454 attributetype ( 1.3.6.1.4.1.7165.2.1.67 NAME 'sambaRefuseMachinePwdChange'
455         DESC 'Allow Machine Password changes (default: 0 => off)'
456         EQUALITY integerMatch
457         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
458
459
460
461
462 #######################################################################
463 ##              objectClasses used by Samba 3.0 schema               ##
464 #######################################################################
465
466 ## The X.500 data model (and therefore LDAPv3) says that each entry can
467 ## only have one structural objectclass.  OpenLDAP 2.0 does not enforce
468 ## this currently but will in v2.1
469
470 ##
471 ## added new objectclass (and OID) for 3.0 to help us deal with backwards
472 ## compatibility with 2.2 installations (e.g. ldapsam_compat)  --jerry
473 ##
474 objectclass ( 1.3.6.1.4.1.7165.2.2.6 NAME 'sambaSamAccount' SUP top AUXILIARY
475         DESC 'Samba 3.0 Auxilary SAM Account'
476         MUST ( uid $ sambaSID )
477         MAY  ( cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $
478                sambaLogonTime $ sambaLogoffTime $ sambaKickoffTime $
479                sambaPwdCanChange $ sambaPwdMustChange $ sambaAcctFlags $
480                displayName $ sambaHomePath $ sambaHomeDrive $ sambaLogonScript $
481                sambaProfilePath $ description $ sambaUserWorkstations $
482                sambaPrimaryGroupSID $ sambaDomainName $ sambaMungedDial $
483                sambaBadPasswordCount $ sambaBadPasswordTime $
484                sambaPasswordHistory $ sambaLogonHours))
485
486 ##
487 ## Group mapping info
488 ##
489 objectclass ( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' SUP top AUXILIARY
490         DESC 'Samba Group Mapping'
491         MUST ( gidNumber $ sambaSID $ sambaGroupType )
492         MAY  ( displayName $ description $ sambaSIDList ))
493
494 ##
495 ## Trust password for trust relationships (any kind)
496 ##
497 objectclass ( 1.3.6.1.4.1.7165.2.2.14 NAME 'sambaTrustPassword' SUP top STRUCTURAL
498         DESC 'Samba Trust Password'
499         MUST ( sambaDomainName $ sambaNTPassword $ sambaTrustFlags )
500         MAY ( sambaSID $ sambaPwdLastSet ))
501
502 ##
503 ## Whole-of-domain info
504 ##
505 objectclass ( 1.3.6.1.4.1.7165.2.2.5 NAME 'sambaDomain' SUP top STRUCTURAL
506         DESC 'Samba Domain Information'
507         MUST ( sambaDomainName $ 
508                sambaSID ) 
509         MAY ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $
510               sambaAlgorithmicRidBase $ 
511               sambaMinPwdLength $ sambaPwdHistoryLength $ sambaLogonToChgPwd $
512               sambaMaxPwdAge $ sambaMinPwdAge $
513               sambaLockoutDuration $ sambaLockoutObservationWindow $ sambaLockoutThreshold $
514               sambaForceLogoff $ sambaRefuseMachinePwdChange ))
515
516 ##
517 ## used for idmap_ldap module
518 ##
519 objectclass ( 1.3.6.1.4.1.7165.2.2.7 NAME 'sambaUnixIdPool' SUP top AUXILIARY
520         DESC 'Pool for allocating UNIX uids/gids'
521         MUST ( uidNumber $ gidNumber ) )
522
523
524 objectclass ( 1.3.6.1.4.1.7165.2.2.8 NAME 'sambaIdmapEntry' SUP top AUXILIARY
525         DESC 'Mapping from a SID to an ID'
526         MUST ( sambaSID )
527         MAY ( uidNumber $ gidNumber ) )
528
529 objectclass ( 1.3.6.1.4.1.7165.2.2.9 NAME 'sambaSidEntry' SUP top STRUCTURAL
530         DESC 'Structural Class for a SID'
531         MUST ( sambaSID ) )
532
533 objectclass ( 1.3.6.1.4.1.7165.2.2.10 NAME 'sambaConfig' SUP top AUXILIARY
534         DESC 'Samba Configuration Section'
535         MAY ( description ) )
536
537 objectclass ( 1.3.6.1.4.1.7165.2.2.11 NAME 'sambaShare' SUP top STRUCTURAL
538         DESC 'Samba Share Section'
539         MUST ( sambaShareName )
540         MAY ( description ) )
541
542 objectclass ( 1.3.6.1.4.1.7165.2.2.12 NAME 'sambaConfigOption' SUP top STRUCTURAL
543         DESC 'Samba Configuration Option'
544         MUST ( sambaOptionName )
545         MAY ( sambaBoolOption $ sambaIntegerOption $ sambaStringOption $ 
546               sambaStringListoption $ description ) )
547
548
549 ## retired during privilege rewrite
550 ##objectclass ( 1.3.6.1.4.1.7165.2.2.13 NAME 'sambaPrivilege' SUP top AUXILIARY
551 ##      DESC 'Samba Privilege'
552 ##      MUST ( sambaSID )
553 ##      MAY ( sambaPrivilegeList ) )