DirectoryService.8   [plain text]


.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
.\"See Also:
.\"man mdoc.samples for a complete listing of options
.\"man mdoc for the short list of editing options
.\"/usr/share/misc/mdoc.template
.Dd Feb 21, 2003       \" DATE 
.Dt DirectoryService 8       \" Program name and manual section number 
.Os MacOSX
.Sh NAME                 \" Section Header - required - don't modify 
.Nm DirectoryService 
.\" The following lines are read in generating the apropos(man -k) database. Use only key
.\" words here as the database is built based on the words here and in the .ND line. 
.\" Use .Nm macro to designate other names for the documented program.
.Nd DirectoryService daemon (a part of Mac OS X's Open Directory architecture)
.Sh SYNOPSIS             \" Section Header - required - don't modify
.Nm
.Op Fl hv         \" [-f path] 
.Sh DESCRIPTION          \" Section Header - required - don't modify
Apple's Open Directory architecture includes source code for both directory client access and directory servers.
Open Directory forms the foundation of how Mac OS X accesses all authoritative configuration information (users, groups, mounts,
managed desktop data, etc.). Mac OS X obtains this information via abstraction APIs, enabling use of virtually any directory
system.  Configuration of Open Directory is done through the Directory Utility applications in /Applications/Utilities.  This
application can configure plugin settings, including turning on/off various directory services.
.Pp
.Nm Open Directory Utility
.Pp
Directory Services is a core part of the Open Directory technology. Directory Services provides a client
read/write/authentication API abstraction for accessing directory-based data. Directory Services consists
of an access API, and an API daemon, and a plug-in API.
.Pp
More information can be accessed from the Darwin Open Directory Page: http://developer.apple.com/darwin/projects/opendirectory/
.Pp
.Nm Open Directory Servers
.Pp
Apple's Open Directory Server is OpenLDAP. OpenLDAP is included as part of Mac OS X Desktop and Server,
and is also included with Darwin. OpenLDAP provides a robust and scalable platform for serving directory based
configuration information for both stand-alone and networked CPUs. OpenLDAP consists of:
.Bl -bullet -offset indent
.It
Access API
.It
Server process
.It
Command line tools for displaying and modifying the contents of the Directory Server data.
.El
.Pp
.Nm Documentation
.Pp
Directory Services Access API and Plug-in API is documented at: http://developer.apple.com/referencelibrary/Networking/
.Pp
The headers for the DirectoryService APIs can also be found in the following location:
.Pp
/System/Library/Frameworks/DirectoryService.framework/Headers/
.Pp
.Sh OPTIONS
.Pp
The options are as follows:
.Pp
.Bl -tag -width -indent  \" Differs from above in -compact tag removed 
.It Fl h                 \"-a flag as a list item
Display list of options
.It Fl v                 \"-a flag as a list item
Display the release version.
.El                      \" Ends the list
.Pp
.Sh PLUGINS
The following plugins can be managed using the Directory Utility application.
.Pp
.Bl -bullet -offset indent  \" Differs from above in -compact tag removed 
.It
BSD (Flat File and NIS)
.It
LDAPv3
.It
Search
.It
SMB
.It
SLP
.It
Bonjour (zero-conf)
.It
Appletalk
.It
PasswordServer
.El                      \" Ends the list
.Pp
.\" The following are optional section headers. Remove the comment tag to use.
.\" .Sh RETURN VALUES    \"Sections 2 and 3
.\" .Sh ENVIRONMENT      \"Sections 1, 6, 7, and 8
.\" .Sh FILES
.\" .Sh EXAMPLES
.\" .Ev PAGER
.Sh DIAGNOSTICS      \"Sections 1, 6, 7, and 8
There are two helpful signals you can send to the DirectoryService daemon to help diagnose problems you may be having.
(Example: % sudo killall -USR1 DirectoryService).  USR2 logging automatically turns off after 5 minutes.
.Pp
.Bl -bullet -offset indent  \" Differs from above in -compact tag removed 
.It
USR1
.Pp
Turns Debug Logging (on/off)
.Pp
See /Library/Logs/DirectoryService/DirectoryService.debug.log
.It
USR2
.Pp
Turns API Logging (on/off)
.Pp
See /var/log/system.log
.El                      \" Ends the list
.Pp
.Sh ERRORS           \"Sections 2 and 3
.Nm From <DirectoryService/DirServiceTypes.h>
.Pp
	eDSNoErr						=	0
.Pp
.Pp
	eDSOpenFailed					=	-14000
.Pp
	eDSCloseFailed					=	-14001
.Pp
.Pp
	eDSOpenNodeFailed				=	-14002
.Pp
	eDSBadDirRefences				=	-14003
.Pp
	eDSNullRecordReference			= 	-14004
.Pp
	eDSMaxSessionsOpen				=	-14005
.Pp
	eDSCannotAccessSession 			=	-14006
.Pp
	eDSDirSrvcNotOpened 			=	-14007
.Pp
	eDSNodeNotFound				=	-14008
.Pp
	eDSUnknownNodeName				=	-14009
.Pp
.Pp
	eDSRegisterCustomFailed			=	-14010
.Pp
	eDSGetCustomFailed				=	-14011
.Pp
	eDSUnRegisterFailed				=	-14012
.Pp
	eDSLocalDSDaemonInUse			=	-14015
.Pp
	eDSNormalDSDaemonInUse			=	-14016
.Pp
	eDSAllocationFailed				=	-14050
.Pp
	eDSDeAllocateFailed				=	-14051
.Pp
	eDSCustomBlockFailed			=	-14052
.Pp
	eDSCustomUnblockFailed			=	-14053
.Pp
	eDSCustomYieldFailed			=	-14054
.Pp
.Pp
	eDSCorruptBuffer				=	-14060
.Pp
	eDSInvalidIndex				=	-14061
.Pp
	eDSIndexOutOfRange				=	-14062
.Pp
	eDSIndexNotFound				=	-14063
.Pp
	eDSCorruptRecEntryData			=	-14065
.Pp
.Pp
	eDSRefSpaceFull				=	-14069
.Pp
	eDSRefTableAllocError			=	-14070
.Pp
	eDSInvalidReference				=	-14071
.Pp
	eDSInvalidRefType				=	-14072
.Pp
	eDSInvalidDirRef				=	-14073
.Pp
	eDSInvalidNodeRef				=	-14074
.Pp
	eDSInvalidRecordRef				=	-14075
.Pp
	eDSInvalidAttrListRef			=	-14076
.Pp
	eDSInvalidAttrValueRef			=	-14077
.Pp
	eDSInvalidContinueData			=	-14078
.Pp
	eDSInvalidBuffFormat			=	-14079
.Pp
	eDSInvalidPatternMatchType		=	-14080
.Pp
	eDSRefTableError				=	-14081
.Pp
	eDSRefTableNilError				=	-14082,
.Pp
	eDSRefTableIndexOutOfBoundsError	=	-14083,
.Pp
	eDSRefTableEntryNilError			=	-14084,
.Pp
	eDSRefTableCSBPAllocError		=	-14085,
.Pp
	eDSRefTableFWAllocError			=	-14086,
.Pp
	eDSAuthFailed					=	-14090
.Pp
	eDSAuthMethodNotSupported		=	-14091
.Pp
	eDSAuthResponseBufTooSmall		=	-14092
.Pp
	eDSAuthParameterError			=	-14093
.Pp
	eDSAuthInBuffFormatError			=	-14094
.Pp
	eDSAuthNoSuchEntity				=	-14095
.Pp
	eDSAuthBadPassword				=	-14096
.Pp
	eDSAuthContinueDataBad			=	-14097
.Pp
	eDSAuthUnknownUser				=	-14098
.Pp
	eDSAuthInvalidUserName			=	-14099
.Pp
	eDSAuthCannotRecoverPasswd		=	-14100
.Pp
	eDSAuthFailedClearTextOnly		=	-14101
.Pp
	eDSAuthNoAuthServerFound			=	-14102
.Pp
	eDSAuthServerError				=	-14103
.Pp
	eDSInvalidContext				=	-14104
.Pp
	eDSBadContextData				=	-14105
.Pp
.Pp
	eDSPermissionError				=	-14120
.Pp
	eDSReadOnly					=	-14121
.Pp
	eDSInvalidDomain				=	-14122
.Pp
	eNetInfoError					=	-14123
.Pp
.Pp
	eDSInvalidRecordType			=	-14130
.Pp
	eDSInvalidAttributeType			=	-14131
.Pp
	eDSInvalidRecordName			=	-14133
.Pp
	eDSAttributeNotFound			=	-14134
.Pp
	eDSRecordAlreadyExists			=	-14135
.Pp
	eDSRecordNotFound				=	-14136
.Pp
	eDSAttributeDoesNotExist			=	-14137
.Pp
	eDSRecordTypeDisabled			=	-14138
.Pp
	eDSNoStdMappingAvailable			=	-14140
.Pp
	eDSInvalidNativeMapping			=	-14141
.Pp
	eDSSchemaError					=	-14142
.Pp
	eDSAttributeValueNotFound		=	-14143
.Pp
.Pp
	eDSVersionMismatch				=	-14149
.Pp
	eDSPlugInConfigFileError			=	-14150
.Pp
	eDSInvalidPlugInConfigData		=	-14151
.Pp
.Pp
	eDSAuthNewPasswordRequired		=	-14161
.Pp
	eDSAuthPasswordExpired			=	-14162
.Pp
	eDSAuthPasswordQualityCheckFailed	=	-14165
.Pp
	eDSAuthAccountDisabled			=	-14167
.Pp
	eDSAuthAccountExpired			=	-14168
.Pp
	eDSAuthAccountInactive			=	-14169
.Pp
	eDSAuthPasswordTooShort			=	-14170
.Pp
	eDSAuthPasswordTooLong			=	-14171
.Pp
	eDSAuthPasswordNeedsLetter		=	-14172
.Pp
	eDSAuthPasswordNeedsDigit		=	-14173
.Pp
.Pp
	eDSNullParameter				=	-14200
.Pp
	eDSNullDataBuff				=	-14201
.Pp
	eDSNullNodeName				=	-14202
.Pp
	eDSNullRecEntryPtr				=	-14203
.Pp
	eDSNullRecName					=	-14204
.Pp
	eDSNullRecNameList				=	-14205
.Pp
	eDSNullRecType					=	-14206
.Pp
	eDSNullRecTypeList				=	-14207
.Pp
	eDSNullAttribute				=	-14208
.Pp
	eDSNullAttributeAccess			=	-14209
.Pp
	eDSNullAttributeValue			=	-14210
.Pp
	eDSNullAttributeType			=	-14211
.Pp
	eDSNullAttributeTypeList			=	-14212
.Pp
	eDSNullAttributeControlPtr		=	-14213
.Pp
	eDSNullAttributeRequestList		=	-14214
.Pp
	eDSNullDataList				=	-14215
.Pp
	eDSNullDirNodeTypeList			= 	-14216
.Pp
	eDSNullAutMethod				= 	-14217
.Pp
	eDSNullAuthStepData				=	-14218
.Pp
	eDSNullAuthStepDataResp			=	-14219
.Pp
	eDSNullNodeInfoTypeList			=	-14220
.Pp
	eDSNullPatternMatch				=	-14221
.Pp
	eDSNullNodeNamePattern			=	-14222
.Pp
	eDSNullTargetArgument			=	-14223
.Pp
.Pp
	eDSEmptyParameter				=	-14230
.Pp
	eDSEmptyBuffer					=	-14231
.Pp
	eDSEmptyNodeName				=	-14232
.Pp
	eDSEmptyRecordName				=	-14233
.Pp
	eDSEmptyRecordNameList			=	-14234
.Pp
	eDSEmptyRecordType				=	-14235
.Pp
	eDSEmptyRecordTypeList			=	-14236
.Pp
	eDSEmptyRecordEntry				=	-14237
.Pp
	eDSEmptyPatternMatch			=	-14238
.Pp
	eDSEmptyNodeNamePattern			=	-14239
.Pp
	eDSEmptyAttribute				=	-14240
.Pp
	eDSEmptyAttributeType			=	-14241
.Pp
	eDSEmptyAttributeTypeList		=	-14242
.Pp
	eDSEmptyAttributeValue			=	-14243
.Pp
	eDSEmptyAttributeRequestList		=	-14244
.Pp
	eDSEmptyDataList				=	-14245
.Pp
	eDSEmptyNodeInfoTypeList			=	-14246
.Pp
	eDSEmptyAuthMethod				=	-14247
.Pp
	eDSEmptyAuthStepData			=	-14248
.Pp
	eDSEmptyAuthStepDataResp			=	-14249
.Pp
	eDSEmptyPattern2Match			=	-14250
.Pp
.Pp
	eDSBadDataNodeLength			=	-14255
.Pp
	eDSBadDataNodeFormat			=	-14256
.Pp
	eDSBadSourceDataNode			=	-14257
.Pp
	eDSBadTargetDataNode			=	-14258
.Pp
.Pp
	eDSBufferTooSmall				=	-14260
.Pp
	eDSUnknownMatchType				=	-14261
.Pp
	eDSUnSupportedMatchType			=	-14262
.Pp
	eDSInvalDataList				= 	-14263
.Pp
	eDSAttrListError				=	-14264
.Pp
.Pp
	eServerNotRunning				=	-14270
.Pp
	eUnknownAPICall				=	-14271
.Pp
	eUnknownServerError				=	-14272
.Pp
	eUnknownPlugIn					= 	-14273
.Pp
	ePlugInDataError				=	-14274
.Pp
	ePlugInNotFound				=	-14275
.Pp
	ePlugInError					= 	-14276
.Pp
	ePlugInInitError				=	-14277
.Pp
	ePlugInNotActive				=	-14278
.Pp
	ePlugInFailedToInitialize		=	-14279
.Pp
	ePlugInCallTimedOut				=	-14280
.Pp
.Pp
	eNoSearchNodesFound				=	-14290
.Pp
	eSearchPathNotDefined			=	-14291
.Pp
	eNotHandledByThisNode			=	-14292
.Pp
.Pp
	eIPCSendError					=	-14330
.Pp
	eIPCReceiveError				=	-14331
.Pp
	eServerReplyError				=	-14332
.Pp
.Pp
	eDSTCPSendError				=	-14350
.Pp
	eDSTCPReceiveError				=	-14351
.Pp
	eDSTCPVersionMismatch			=	-14352
.Pp
	eDSIPUnreachable				=	-14353
.Pp
	eDSUnknownHost					=	-14354
.Pp
.Pp
	ePluginHandlerNotLoaded			=	-14400
.Pp
	eNoPluginsLoaded				=	-14402
.Pp
	ePluginAlreadyLoaded			=	-14404
.Pp
	ePluginVersionNotFound			=	-14406
.Pp
	ePluginNameNotFound				=	-14408
.Pp
	eNoPluginFactoriesFound			=	-14410
.Pp
	ePluginConfigAvailNotFound		=	-14412
.Pp
	ePluginConfigFileNotFound		=	-14414
.Pp
.Pp
	eCFMGetFileSysRepErr			=	-14450
.Pp
	eCFPlugInGetBundleErr			=	-14452
.Pp
	eCFBndleGetInfoDictErr			=	-14454
.Pp
	eCFDictGetValueErr				=	-14456
.Pp
.Nm Authentication Errors
.Pp
	eDSServerTimeout				=	-14470
.Pp
	eDSContinue					=	-14471
.Pp
	eDSInvalidHandle				=	-14472
.Pp
	eDSSendFailed					=	-14473
.Pp
	eDSReceiveFailed				=	-14474
.Pp
	eDSBadPacket					=	-14475
.Pp
	eDSInvalidTag					=	-14476
.Pp
	eDSInvalidSession				=	-14477
.Pp
	eDSInvalidName					=	-14478
.Pp
	eDSUserUnknown					=	-14479
.Pp
	eDSUnrecoverablePassword			=	-14480
.Pp
	eDSAuthenticationFailed			=	-14481
.Pp
	eDSBogusServer					=	-14482
.Pp
	eDSOperationFailed				=	-14483
.Pp
	eDSNotAuthorized				=	-14484
.Pp
	eDSNetInfoError				=	-14485
.Pp
	eDSContactMaster				=	-14486
.Pp
	eDSServiceUnavailable			=	-14487
.Pp
	eDSInvalidFilePath				=	-14488
.Pp
	eDSOperationTimeout				=	-14489
.Pp
.Pp
	eFWGetDirNodeNameErr1			=	-14501
.Pp
	eFWGetDirNodeNameErr2			=	-14502
.Pp
	eFWGetDirNodeNameErr3			=	-14503
.Pp
	eFWGetDirNodeNameErr4			=	-14504
.Pp
.Pp
.Nm Errors received in the range -14700 : -14780 denote specific server errors.
.Pp
.Nm Contact Directory Services Server support when these errors are encountered 
.Pp
	eParameterSendError				=	-14700
.Pp
	eParameterReceiveError			=	-14720
.Pp
.Pp
	eServerSendError				=	-14740
.Pp
	eServerReceiveError				=	-14760
.Pp
.Pp
	eMemoryError					=	-14900
.Pp
	eMemoryAllocError				=	-14901
.Pp
	eServerError					=	-14910
.Pp
	eParameterError				= 	-14915
.Pp
.Pp
.Nm  Server response errors
.Pp
(These errors indicate that the plug-in or server did not return the required data)
.Pp
	eDataReceiveErr_NoDirRef			=	-14950
.Pp
	// No tDirReference returned
.Pp	
	eDataReceiveErr_NoRecRef			=	-14951
.Pp
	// No tRecordReference returned
.Pp	
	eDataReceiveErr_NoAttrListRef		=	-14952
.Pp
	// No tAttributeListRef returned
.Pp	
	eDataReceiveErr_NoAttrValueListRef	=	-14953
.Pp
	// No tAttributeValueListRef returned
.Pp	
	eDataReceiveErr_NoAttrEntry		=	-14954
.Pp
	// No tAttributeEntry returned
.Pp	
	eDataReceiveErr_NoAttrValueEntry	=	-14955
.Pp
	// No tAttributeValueEntry returned
.Pp	
	eDataReceiveErr_NoNodeCount		=	-14956
.Pp
	// No node Count returned
.Pp
	eDataReceiveErr_NoAttrCount		=	-14957
.Pp
	// No attribute count returned
.Pp	
	eDataReceiveErr_NoRecEntry		=	-14958
.Pp
	// No tRecordEntry returned
.Pp	
	eDataReceiveErr_NoRecEntryCount	=	-14959
.Pp
	// No record entry count returned
.Pp	
	eDataReceiveErr_NoRecMatchCount	=	-14960
.Pp
	// No record match count returned
.Pp	
	eDataReceiveErr_NoDataBuff		=	-14961
.Pp
	// No tDataBuffer returned
.Pp	
	eDataReceiveErr_NoContinueData	=	-14962
.Pp
	// No continue data returned
.Pp	
	eDataReceiveErr_NoNodeChangeToken	=	-14963
.Pp
	// No node Change Token returned
.Pp
	eNoLongerSupported				=	-14986
.Pp
	eUndefinedError				=	-14987
.Pp
	eNotYetImplemented				=	-14988
.Pp
.Pp
.Sh OPEN SOURCE
The source code for
.Nm
is available as part of Apple's Darwin open source initiative.
.Nm
is part of the DirectoryService project.
More information on Darwin may be found on the Web at
.Pp
.Dl http://developer.apple.com/darwin/projects/opendirectory/
.Pp
Directory Services Access API and Plug-in API is documented at
.Pp
.Dl http://developer.apple.com/referencelibrary/Networking/
.Pp
The headers for the DirectoryService APIs can also be found in the following location:
.Pp
.Dl /System/Library/Frameworks/DirectoryService.framework/Headers/
.Sh FILES
/usr/sbin/DirectoryService
.Pp
/Library/Logs/DirectoryService/DirectoryService.debug.log
.Pp
/Library/Logs/DirectoryService/DirectoryService.error.log
.Pp
/Library/Logs/DirectoryService/DirectoryService.server.log
.Sh SEE ALSO 
.\" List links in ascending order by section, alphabetically within a section.
.\" Please do not reference files that do not exist without filing a bug report
.Xr DirectoryServiceAttributes 7 ,
.Xr dscl 1 ,
.Xr dsmemberutil 1 ,
.Xr dscacheutil 1 ,
.Xr dseditgroup 8 ,
.Xr dsenableroot 8 ,
.Xr dserr 8 ,
.Xr pwpolicy 8
.\" .Sh BUGS 
.\" .Sh HISTORY