DirectoryService(8) BSD System Manager's Manual DirectoryService(8)
NAME
DirectoryService -- DirectoryService daemon (a part of Mac OS X's Open Directory architecture)
SYNOPSIS
DirectoryService [-hv]
DESCRIPTION
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 con-figure configure
figure plugin settings, including turning on/off various directory services.
Open Directory Utility
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.
More information can be accessed from the Darwin Open Directory Page: http://developer.apple.com/dar-
win/projects/opendirectory/
Open Directory Servers
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 direc-
tory based configuration information for both stand-alone and networked CPUs. OpenLDAP consists of:
oo Access API
oo Server process
oo Command line tools for displaying and modifying the contents of the Directory Server data.
Documentation
Directory Services Access API and Plug-in API is documented at: http://developer.apple.com/referenceli-
brary/Networking/
The headers for the DirectoryService APIs can also be found in the following location:
/System/Library/Frameworks/DirectoryService.framework/Headers/
OPTIONS
The options are as follows:
-h Display list of options
-v Display the release version.
PLUGINS
The following plugins can be managed using the Directory Utility application.
oo BSD (Flat File and NIS)
oo LDAPv3
oo Search
oo SMB
oo SLP
oo Bonjour (zero-conf)
oo Appletalk
oo PasswordServer
DIAGNOSTICS
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.
oo USR1
Turns Debug Logging (on/off)
See /Library/Logs/DirectoryService/DirectoryService.debug.log
oo USR2
Turns API Logging (on/off)
See /var/log/system.log
ERRORS
From <DirectoryService/DirServiceTypes.h>
eDSNoErr = 0
eDSOpenFailed = -14000
eDSCloseFailed = -14001
eDSOpenNodeFailed = -14002
eDSBadDirRefences = -14003
eDSNullRecordReference = -14004
eDSMaxSessionsOpen = -14005
eDSCannotAccessSession = -14006
eDSDirSrvcNotOpened = -14007
eDSNodeNotFound = -14008
eDSUnknownNodeName = -14009
eDSRegisterCustomFailed = -14010
eDSGetCustomFailed = -14011
eDSUnRegisterFailed = -14012
eDSLocalDSDaemonInUse = -14015
eDSNormalDSDaemonInUse = -14016
eDSAllocationFailed = -14050
eDSDeAllocateFailed = -14051
eDSCustomBlockFailed = -14052
eDSCustomUnblockFailed = -14053
eDSCustomYieldFailed = -14054
eDSCorruptBuffer = -14060
eDSInvalidIndex = -14061
eDSIndexOutOfRange = -14062
eDSIndexNotFound = -14063
eDSCorruptRecEntryData = -14065
eDSRefSpaceFull = -14069
eDSRefTableAllocError = -14070
eDSInvalidReference = -14071
eDSInvalidRefType = -14072
eDSInvalidDirRef = -14073
eDSInvalidNodeRef = -14074
eDSInvalidRecordRef = -14075
eDSInvalidAttrListRef = -14076
eDSInvalidAttrValueRef = -14077
eDSInvalidContinueData = -14078
eDSInvalidBuffFormat = -14079
eDSInvalidPatternMatchType = -14080
eDSRefTableError = -14081
eDSRefTableNilError = -14082,
eDSRefTableIndexOutOfBoundsError = -14083,
eDSRefTableEntryNilError = -14084,
eDSRefTableCSBPAllocError = -14085,
eDSRefTableFWAllocError = -14086,
eDSAuthFailed = -14090
eDSAuthMethodNotSupported = -14091
eDSAuthResponseBufTooSmall = -14092
eDSAuthParameterError = -14093
eDSAuthInBuffFormatError = -14094
eDSAuthNoSuchEntity = -14095
eDSAuthBadPassword = -14096
eDSAuthContinueDataBad = -14097
eDSAuthUnknownUser = -14098
eDSAuthInvalidUserName = -14099
eDSAuthCannotRecoverPasswd = -14100
eDSAuthFailedClearTextOnly = -14101
eDSAuthNoAuthServerFound = -14102
eDSAuthServerError = -14103
eDSInvalidContext = -14104
eDSBadContextData = -14105
eDSPermissionError = -14120
eDSReadOnly = -14121
eDSInvalidDomain = -14122
eNetInfoError = -14123
eDSInvalidRecordType = -14130
eDSInvalidAttributeType = -14131
eDSInvalidRecordName = -14133
eDSAttributeNotFound = -14134
eDSRecordAlreadyExists = -14135
eDSRecordNotFound = -14136
eDSAttributeDoesNotExist = -14137
eDSNoStdMappingAvailable = -14140
eDSInvalidNativeMapping = -14141
eDSSchemaError = -14142
eDSAttributeValueNotFound = -14143
eDSVersionMismatch = -14149
eDSPlugInConfigFileError = -14150
eDSInvalidPlugInConfigData = -14151
eDSAuthNewPasswordRequired = -14161
eDSAuthPasswordExpired = -14162
eDSAuthPasswordQualityCheckFailed = -14165
eDSAuthAccountDisabled = -14167
eDSAuthAccountExpired = -14168
eDSAuthAccountInactive = -14169
eDSAuthPasswordTooShort = -14170
eDSAuthPasswordTooLong = -14171
eDSAuthPasswordNeedsLetter = -14172
eDSAuthPasswordNeedsDigit = -14173
eDSNullParameter = -14200
eDSNullDataBuff = -14201
eDSNullNodeName = -14202
eDSNullRecEntryPtr = -14203
eDSNullRecName = -14204
eDSNullRecNameList = -14205
eDSNullRecType = -14206
eDSNullRecTypeList = -14207
eDSNullAttribute = -14208
eDSNullAttributeAccess = -14209
eDSNullAttributeValue = -14210
eDSNullAttributeType = -14211
eDSNullAttributeTypeList = -14212
eDSNullAttributeControlPtr = -14213
eDSNullAttributeRequestList = -14214
eDSNullDataList = -14215
eDSNullDirNodeTypeList = -14216
eDSNullAutMethod = -14217
eDSNullAuthStepData = -14218
eDSNullAuthStepDataResp = -14219
eDSNullNodeInfoTypeList = -14220
eDSNullPatternMatch = -14221
eDSNullNodeNamePattern = -14222
eDSNullTargetArgument = -14223
eDSEmptyParameter = -14230
eDSEmptyBuffer = -14231
eDSEmptyNodeName = -14232
eDSEmptyRecordName = -14233
eDSEmptyRecordNameList = -14234
eDSEmptyRecordType = -14235
eDSEmptyRecordTypeList = -14236
eDSEmptyRecordEntry = -14237
eDSEmptyPatternMatch = -14238
eDSEmptyNodeNamePattern = -14239
eDSEmptyAttribute = -14240
eDSEmptyAttributeType = -14241
eDSEmptyAttributeTypeList = -14242
eDSEmptyAttributeValue = -14243
eDSEmptyAttributeRequestList = -14244
eDSEmptyDataList = -14245
eDSEmptyNodeInfoTypeList = -14246
eDSEmptyAuthMethod = -14247
eDSEmptyAuthStepData = -14248
eDSEmptyAuthStepDataResp = -14249
eDSEmptyPattern2Match = -14250
eDSBadDataNodeLength = -14255
eDSBadDataNodeFormat = -14256
eDSBadSourceDataNode = -14257
eDSBadTargetDataNode = -14258
eDSBufferTooSmall = -14260
eDSUnknownMatchType = -14261
eDSUnSupportedMatchType = -14262
eDSInvalDataList = -14263
eDSAttrListError = -14264
eServerNotRunning = -14270
eUnknownAPICall = -14271
eUnknownServerError = -14272
eUnknownPlugIn = -14273
ePlugInDataError = -14274
ePlugInNotFound = -14275
ePlugInError = -14276
ePlugInInitError = -14277
ePlugInNotActive = -14278
ePlugInFailedToInitialize = -14279
ePlugInCallTimedOut = -14280
eNoSearchNodesFound = -14290
eSearchPathNotDefined = -14291
eNotHandledByThisNode = -14292
eIPCSendError = -14330
eIPCReceiveError = -14331
eServerReplyError = -14332
eDSTCPSendError = -14350
eDSTCPReceiveError = -14351
eDSTCPVersionMismatch = -14352
eDSIPUnreachable = -14353
eDSUnknownHost = -14354
ePluginHandlerNotLoaded = -14400
eNoPluginsLoaded = -14402
ePluginAlreadyLoaded = -14404
ePluginVersionNotFound = -14406
ePluginNameNotFound = -14408
eNoPluginFactoriesFound = -14410
ePluginConfigAvailNotFound = -14412
ePluginConfigFileNotFound = -14414
eCFMGetFileSysRepErr = -14450
eCFPlugInGetBundleErr = -14452
eCFBndleGetInfoDictErr = -14454
eCFDictGetValueErr = -14456
Authentication Errors
eDSServerTimeout = -14470
eDSContinue = -14471
eDSInvalidHandle = -14472
eDSSendFailed = -14473
eDSReceiveFailed = -14474
eDSBadPacket = -14475
eDSInvalidTag = -14476
eDSInvalidSession = -14477
eDSInvalidName = -14478
eDSUserUnknown = -14479
eDSUnrecoverablePassword = -14480
eDSAuthenticationFailed = -14481
eDSBogusServer = -14482
eDSOperationFailed = -14483
eDSNotAuthorized = -14484
eDSNetInfoError = -14485
eDSContactMaster = -14486
eDSServiceUnavailable = -14487
eDSInvalidFilePath = -14488
eFWGetDirNodeNameErr1 = -14501
eFWGetDirNodeNameErr2 = -14502
eFWGetDirNodeNameErr3 = -14503
eFWGetDirNodeNameErr4 = -14504
Errors received in the range -14700: -14780 denote specific server errors.
Contact Directory Services Server support when these errors are encountered
eParameterSendError = -14700
eParameterReceiveError = -14720
eServerSendError = -14740
eServerReceiveError = -14760
eMemoryError = -14900
eMemoryAllocError = -14901
eServerError = -14910
eParameterError = -14915
Server response errors
(These errors indicate that the plug-in or server did not return the required data)
eDataReceiveErr_NoDirRef = -14950
// No tDirReference returned
eDataReceiveErr_NoRecRef = -14951
// No tRecordReference returned
eDataReceiveErr_NoAttrListRef = -14952
// No tAttributeListRef returned
eDataReceiveErr_NoAttrValueListRef = -14953
// No tAttributeValueListRef returned
eDataReceiveErr_NoAttrEntry = -14954
// No tAttributeEntry returned
eDataReceiveErr_NoAttrValueEntry = -14955
// No tAttributeValueEntry returned
eDataReceiveErr_NoNodeCount = -14956
// No node Count returned
eDataReceiveErr_NoAttrCount = -14957
// No attribute count returned
eDataReceiveErr_NoRecEntry = -14958
// No tRecordEntry returned
eDataReceiveErr_NoRecEntryCount = -14959
// No record entry count returned
eDataReceiveErr_NoRecMatchCount = -14960
// No record match count returned
eDataReceiveErr_NoDataBuff = -14961
// No tDataBuffer returned
eDataReceiveErr_NoContinueData = -14962
// No continue data returned
eDataReceiveErr_NoNodeChangeToken = -14963
// No node Change Token returned
eNoLongerSupported = -14986
eUndefinedError = -14987
eNotYetImplemented = -14988
OPEN SOURCE
The source code for DirectoryService is available as part of Apple's Darwin open source initiative.
DirectoryService is part of the DirectoryService project. More information on Darwin may be found on
the Web at
http://developer.apple.com/darwin/projects/opendirectory/
Directory Services Access API and Plug-in API is documented at
http://developer.apple.com/referencelibrary/Networking/
The headers for the DirectoryService APIs can also be found in the following location:
/System/Library/Frameworks/DirectoryService.framework/Headers/
FILES
/usr/sbin/DirectoryService
/Library/Logs/DirectoryService/DirectoryService.debug.log
/Library/Logs/DirectoryService/DirectoryService.error.log
/Library/Logs/DirectoryService/DirectoryService.server.log
SEE ALSO
DirectoryServiceAttributes(7), dscl(1), dsmemberutil(1), dscacheutil(1), dseditgroup(8),
dsenableroot(8), dserr(8), pwpolicy(8)
MacOSX Feb 21, 2003 MacOSX
|