#
# By:		Juan C. Gomez / gomez@engr.sgi.com
# Date:		May/1999
# Source:	RFC-2307
# ---------------------------------------------------------
#
# Written by Juan C. Gomez and placed into the public domain.
# This file is not subject to any license of SGI.
#
# ---------------------------------------------------------
#
# Object Classes for using LDAP as a backend for Network
# Information Services (NIS).
# (As Proposed in RFC-2307)
# 




# ----------------------FORMAL DESCRIPTION--------------------
# OID	nisSchema.2.0 
# NAME	'posixAccount' SUP top AUXILIARY
# DESC	'Abstraction of an account with POSIX attributes'
# MUST	( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
# MAY	( userPassword $ loginShell $ gecos $ description ) )
#
#
# OID	nisSchema.2.1
# NAME	'shadowAccount' SUP top AUXILIARY
# DESC 'Additional attributes for shadow passwords'
# MUST uid
# MAY ( userPassword $ shadowLastChange $ shadowMin
#       shadowMax $ shadowWarning $ shadowInactive $
#       shadowExpire $ shadowFlag $ description )
#
#
# OID	nisSchema.2.2 NAME 'posixGroup' SUP top STRUCTURAL
# DESC  'Abstraction of a group of accounts'
# MUST	( cn $ gidNumber )
# MAY ( userPassword $ memberUid $ description ) )
#
#
# OID		nisSchema.2.3 NAME 'ipService' SUP top STRUCTURAL
# DESC		'Abstraction an Internet Protocol service.
#               Maps an IP port and protocol (such as tcp or udp)
#               to one or more names; the distinguished value of
#               the cn attribute denotes the service's canonical
#               name'
# MUST		( cn $ ipServicePort $ ipServiceProtocol )
# MAY		( description )
#
#
# OID		nisSchema.2.4 NAME 'ipProtocol' SUP top STRUCTURAL
# DESC		'Abstraction of an IP protocol. Maps a protocol number
#               to one or more names. The distinguished value of the cn
#               attribute denotes the protocol's canonical name'
# MUST		( cn $ ipProtocolNumber $ description )
# MAY		description 
#
#
# OID	nisSchema.2.5 NAME 'oncRpc' SUP top STRUCTURAL
# DESC	'Abstraction of an Open Network Computing (ONC)
#       [RFC1057] Remote Procedure Call (RPC) binding.
#       This class maps an ONC RPC number to a name.
#       The distinguished value of the cn attribute denotes
#        the RPC service's canonical name'
# MUST	( cn $ oncRpcNumber $ description )
# MAY	description
#
#
# OID	nisSchema.2.6 NAME 'ipHost' SUP top AUXILIARY
# DESC	'Abstraction of a host, an IP device. The distinguished
#        value of the cn attribute denotes the host's canonical
#        name. Device SHOULD be used as a structural class'
# MUST	( cn $ ipHostNumber )
# MAY	( l $ description $ manager ) )
#
#
# OID	nisSchema.2.7 NAME 'ipNetwork' SUP top STRUCTURAL
# DESC	'Abstraction of a network. The distinguished value of
#       the cn attribute denotes the network's canonical name'
# MUST	( cn $ ipNetworkNumber )
# MAY	( ipNetmaskNumber $ l $ description $ manager ) )
#
#
# OID	nisSchema.2.8 NAME 'nisNetgroup' SUP top STRUCTURAL
# DESC	'Abstraction of a netgroup. May refer to other netgroups'
# MUST	cn
# MAY	( nisNetgroupTriple $ memberNisNetgroup $ description )
#
#
# OID	nisSchema.2.09 NAME 'nisMap' SUP top STRUCTURAL
# DESC	'A generic abstraction of a NIS map'
# MUST	nisMapName
# MAY	description
#
#
# OID	nisSchema.2.10 NAME 'nisObject' SUP top STRUCTURAL
# DESC	'An entry in a NIS map'
# MUST	( cn $ nisMapEntry $ nisMapName )
# MAY	description
#
#
# OID	nisSchema.2.11 NAME 'ieee802Device' SUP top AUXILIARY
# DESC	'A device with a MAC address; device SHOULD be
#	used as a structural class'
# MAY macAddress
#
#
# OID	nisSchema.2.12 NAME 'bootableDevice' SUP top AUXILIARY
# DESC	'A device with boot parameters; device SHOULD be
#	used as a structural class'
# MAY	( bootFile $ bootParameter )
#
# ----------------------END FORMAL DESCRIPTION-------------




objectclass	posixAccount
	requires
		objectClass,
		cn,
		uid,
		uidNumber,
		gidNumber,
		homeDirectory
	allows
		userPassword,
		loginShell,
		gecos,
		description
	
objectclass	shadowAccount
	requires
		objectClass,
		uid
	allows
		userPassword,
		shadowLastChange,
		shadowMin,
		shadowMax,
		shadowWarning,
		shadowInactive,
		shadowExpire,
		shadowFlag,
		description

objectclass	posixGroup
	requires
		objectClass,
		cn,
		gidNumber
	allows
		userPassword,
		memberUid,
		description

objectclass	ipService
	requires
		objectClass,
		cn,
		ipServicePort,
		ipServiceProtocol
	allows
		description

objectclass	ipProtocol
	requires
		objectClass,
		cn,
		ipProtocolNumber,
		description
	allows
		description

objectclass	oncRpc
	requires
		objectClass,
		cn,
		oncRpcNumber,
		description
	allows
		description

objectclass	ipHost
	requires
		objectClass,
		cn,
		ipHostNumber
	allows
		l,
		description,
		manager

objectclass	ipNetwork
	requires
		objectClass,
		cn,
		ipNetworkNumber
	allows
		ipNetmaskNumber,
		l,
		description,
		manager

objectclass	nisNetgroup
	requires
		objectClass,
		cn
	allows
		nisNetgroupTriple,
		memberNisNetgroup,
		description

objectclass	nisMap
	requires
		objectClass,
		nisMapName
	allows
		description

objectclass	nisObject
	requires
		objectClass,
		cn,
		nisMapEntry,
		nisMapName
	allows
		description

objectclass	ieee802Device
	requires
		objectClass
	allows
		macAddress

objectclass	bootableDevice
	requires
		objectClass
	allows
		bootFile,
		bootParameter
