1# $OpenLDAP$ 2## This work is part of OpenLDAP Software <http://www.openldap.org/>. 3## 4## Copyright 1998-2021 The OpenLDAP Foundation. 5## All rights reserved. 6## 7## Redistribution and use in source and binary forms, with or without 8## modification, are permitted only as authorized by the OpenLDAP 9## Public License. 10## 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>. 14 15# Definitions from RFC2307 (Experimental) 16# An Approach for Using LDAP as a Network Information Service 17 18# Depends upon core.schema and cosine.schema 19 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 23# strictly. 24 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 27# 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 34 35# Attribute Type Definitions 36 37# builtin 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 ) 42 43# builtin 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 ) 48 49attributetype ( 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 ) 54 55attributetype ( 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 ) 59 60attributetype ( 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 ) 64 65attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange' 66 EQUALITY integerMatch 67 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 68 69attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin' 70 EQUALITY integerMatch 71 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 72 73attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax' 74 EQUALITY integerMatch 75 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 76 77attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning' 78 EQUALITY integerMatch 79 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 80 81attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive' 82 EQUALITY integerMatch 83 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 84 85attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire' 86 EQUALITY integerMatch 87 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 88 89attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag' 90 EQUALITY integerMatch 91 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) 92 93attributetype ( 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 ) 97 98attributetype ( 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 ) 102 103attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple' 104 DESC 'Netgroup triple' 105 SYNTAX 1.3.6.1.1.1.0.0 ) 106 107attributetype ( 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 ) 110 111attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol' 112 SUP name ) 113 114attributetype ( 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 ) 117 118attributetype ( 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 ) 121 122attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber' 123 DESC 'IP address' 124 EQUALITY caseIgnoreIA5Match 125 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} ) 126 127attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber' 128 DESC 'IP network' 129 EQUALITY caseIgnoreIA5Match 130 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE ) 131 132attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber' 133 DESC 'IP netmask' 134 EQUALITY caseIgnoreIA5Match 135 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE ) 136 137attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress' 138 DESC 'MAC address' 139 EQUALITY caseIgnoreIA5Match 140 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} ) 141 142attributetype ( 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 ) 145 146attributetype ( 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 ) 150 151attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName' 152 SUP name ) 153 154attributetype ( 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 ) 158 159# Object Class Definitions 160 161objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' 162 DESC 'Abstraction of an account with POSIX attributes' 163 SUP top AUXILIARY 164 MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) 165 MAY ( userPassword $ loginShell $ gecos $ description ) ) 166 167objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount' 168 DESC 'Additional attributes for shadow passwords' 169 SUP top AUXILIARY 170 MUST uid 171 MAY ( userPassword $ shadowLastChange $ shadowMin $ 172 shadowMax $ shadowWarning $ shadowInactive $ 173 shadowExpire $ shadowFlag $ description ) ) 174 175objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup' 176 DESC 'Abstraction of a group of accounts' 177 SUP top STRUCTURAL 178 MUST ( cn $ gidNumber ) 179 MAY ( userPassword $ memberUid $ description ) ) 180 181objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService' 182 DESC 'Abstraction an Internet Protocol service' 183 SUP top STRUCTURAL 184 MUST ( cn $ ipServicePort $ ipServiceProtocol ) 185 MAY ( description ) ) 186 187objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol' 188 DESC 'Abstraction of an IP protocol' 189 SUP top STRUCTURAL 190 MUST ( cn $ ipProtocolNumber $ description ) 191 MAY description ) 192 193objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc' 194 DESC 'Abstraction of an ONC/RPC binding' 195 SUP top STRUCTURAL 196 MUST ( cn $ oncRpcNumber $ description ) 197 MAY description ) 198 199objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost' 200 DESC 'Abstraction of a host, an IP device' 201 SUP top AUXILIARY 202 MUST ( cn $ ipHostNumber ) 203 MAY ( l $ description $ manager ) ) 204 205objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork' 206 DESC 'Abstraction of an IP network' 207 SUP top STRUCTURAL 208 MUST ( cn $ ipNetworkNumber ) 209 MAY ( ipNetmaskNumber $ l $ description $ manager ) ) 210 211objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup' 212 DESC 'Abstraction of a netgroup' 213 SUP top STRUCTURAL 214 MUST cn 215 MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) ) 216 217objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap' 218 DESC 'A generic abstraction of a NIS map' 219 SUP top STRUCTURAL 220 MUST nisMapName 221 MAY description ) 222 223objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject' 224 DESC 'An entry in a NIS map' 225 SUP top STRUCTURAL 226 MUST ( cn $ nisMapEntry $ nisMapName ) 227 MAY description ) 228 229objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device' 230 DESC 'A device with a MAC address' 231 SUP top AUXILIARY 232 MAY macAddress ) 233 234objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice' 235 DESC 'A device with boot parameters' 236 SUP top AUXILIARY 237 MAY ( bootFile $ bootParameter ) ) 238