su root sudo vi /private/var/db/dslocal/nodes/Default/users/dgerman.plist ./Default/groups users aliases config machines networks
files as of Oct 2007 Default
./Default: aliases config groups machines networks users
.plist
./Default/aliases: MAILER-AGENT MAILER-DAEMON administrator dumper manager nobody operator postmaster
./Default/config: KerberosKDC SharePoints
./Default/config/SharePoints:
Dennis German's Public Folder
admin's Public Folder
rut's Public Folder
./Default/groups:
_amavisd _appowner _appserveradm _appserverusr _ard _atsserver
_calendar _clamav _cvs
_devdocs _guest _installer _jabber _keytabusers
_lp _lpadmin _mailman _mcxalr _mdnsresponder _mysql
_pcastagent _pcastserver _postdrop _postfix _qtss
_sandbox _securityagent _serialnumberd _spotlight _sshd _svn
_teamsserver _tokend _unknown _update_sharing _uucp _windowserver _www
_xgridagent _xgridcontroller
accessibility admin authedusers bin certusers consoleusers
daemon dialer everyone group interactusers kmem localaccounts
mail netaccounts netusers network nobody nogroup operator owner
procmod procview smmsp staff sys tty utmp wheel
com.apple.sharepoint.group.1 com.apple.sharepoint.group.2 com.apple.sharepoint.group.3
./Default/machines: broadcasthost localhost
./Default/networks: loopback
./Default/users:
_amavisd _appowner _appserver _ard _atsserver _calendar _clamav _cvs _cyrus _devdocs
_eppc _installer _jabber _lp _mailman _mcxalr _mdnsresponder _mysql _pcastagent _pcastserver
_postfix _qtss _sandbox _securityagent _serialnumberd _spotlight _sshd _svn _teamsserver _tokend
_unknown _update_sharing _uucp _windowserver _www _xgridagent _xgridcontroller
admin dgerman root rut nobody daemon
|
dscl (v10.5.3)
[options ] [datasource [command]]
datasource:
localhost (default) or
localonly (activates a DirectoryService daemon process
with Local node only - daemon quits after use
<hostName> (requires DS proxy support, >= DS-158) or
<nodeName> (Directory Service style node name) or
<domainName> (NetInfo style domain name)
-u <user> (required when using DS Proxy)
-P [<password> ]
-f <filepath> targeted file path for DS daemon running in localonly mode
example: /Volumes/Build100/var/db/dslocal/nodes/Default
Nodename to use is fixed at /Local/Target
-raw don't strip off prefix from DS constants
-plist XML plist format
-url attribute values in URL-style encoding
-q quiet - no interactive prompt
-read <path> [<key>…] -readall <path> [<key>…]
-readpl <path> <key> <plist path> -readpli <path> <key> <value index> <plist path>
-create <record path> [<key> [<val>…]]
-createpl <record path> <key> <plist path> <val1> [<val2>…]
-createpli <record path> <key> <value index> <plist path> <val1> [<val2>…]
-delete <path> [<key> [<val>…]]
-deletepl <record path> <key> <plist path> [<val>…]
-deletepli <record path> <key> <value index> <plist path> [<val>…]
-list <path> [<key>]
-append <record path> <key> <val>…
-merge <record path> <key> <val>…
-change <record path> <key> <old value> <new value> -changei <record path> <key> <value index> <new value>
-diff <first path> <second path>
-search <path> <key> <val>
-auth [<user> [<password>]]
-authonly [<user> [<password>]]
-passwd <user path> [<new password> | <old password> <new password>]
MCX Extensions:
-mcxread <record path> [optArgs] [<appdomain> [<keyName>]]
-mcxset <record path> [optArgs] <appdomain> <keyName> [<mcxdomain> [<keyvalue>]]
-mcxedit <record path> [optArgs] <appdomain> <keyPath> [<keyvalue>]
-mcxdelete <record path> [optArgs] [<appdomain> [<keyName>]]
-mcxexport <record path> [optArgs] [<appdomain> [<keyName>]]
-mcximport <record path> [optArgs] |
|
dscl -- Directory Service command line utility
Directory Service directory nodes.Creates, reads, and manage Directory Service data. Invoked without any commands, dscl runs in an interactive mode, reading commands from standard input. Interactive processing is terminated byquit .
Leading dashes ( -) are optional for all commands.
dscl operates on a datasource specified on the command line, a node name or a Mac OS X
Server (10.2 or later) host specified by DNS hostname or IP address.
The datasource may also be specified as
PATH SPECIFICATIONThe modes of operation when specifying paths to operate on correspond to whether the datasource is a node or a host.In the case of specifying a node, the top level of paths will be record types. Example top level paths would be:
In the case of specifying a host as a data source, the top level of paths correspond to Open Directory plug-ins and Search Paths. One can specify the plug-in to traverse to a node name, after which the paths are equivalent to the former usage. The following might be the equivalent paths as the above paths:
If path components contain keys or values with embedded slash characters, the slash characters must be escaped with a leading backslash character. Since the shell also processes escape characters, an extra backslash is required to correctly specify an escape. For example, to read a mount record with the name "ldapserver:/Users" in the "/Mounts" path, the following path would be used:
Command aliases are listed in parentheses.
INTERACTIVE COMMANDS
command history The up and down arrow keys will scan through the command history. tab completion When pathnames are being typed, pressing the tab key will search to auto-complete the partial name, showing posible matches and attempting to correct capitilization .
|
dscl . -read /Users/www AppleMetaNodeLocation: /Local/Default NFSHomeDirectory: /Library/WebServer Password: * PrimaryGroupID: 70 RealName: World Wide Web Server RecordName: _www www RecordType: dsRecTypeStandard:Users UniqueID: 70 UserShell: /usr/bin/false dscl ls cd-create or replace the UserShell attribute value for the www user record
dscl . -create /Users/www UserShell /usr/bin/false-create or replace the test key of the mcx_application_data:loginwindow plist value for the MCXSettings attribute of the user1 user record
dscl . -createpl /Users/user1 MCXSettings mcx_application_data:loginwindow:test value-list the uniqueID values for all user records on a given node
dscl /LDAPv3/ldap.company.com -list /Users UniqueID-append a value that has spaces in it
dscl . -append /Users/www Comment "This is a comment"dscl will return -1 (255) on error.
> -read /Users/dgerman Cannot open remote host, error: DSOpenDirServiceErr Don't forget the dot!
# dscl . -read /Users/dgerman dsAttrTypeNative:_writers_hint: dgerman dsAttrTypeNative:_writers_jpegphoto: dgerman dsAttrTypeNative:_writers_LinkedIdentity: dgerman dsAttrTypeNative:_writers_passwd: dgerman dsAttrTypeNative:_writers_picture: dgerman dsAttrTypeNative:_writers_realname: dgerman dsAttrTypeNative:_writers_UserCertificate: dgerman AppleMetaNodeLocation: /Local/Default AuthenticationAuthority: ;Kerberosv5; ;dgerman@LKDC:SHA1.E08104A89DD6B9076C3EAFDB36F44C0C27EAB1A3; LKDC:SHA1.E08104A89DD6B9076C3EAFDB36F44C0C27EAB1A3; ;ShadowHash;HASHLIST:AuthenticationHint: initals 2x hex Building: Real-world-Systems.com GeneratedUID: D974AB7E-DDD1-4F89-823F-B65965D43013 HomePhoneNumber: 973/226-6672 JPEGPhoto: ffd8ffe0 00104a46 … many words of hex … NFSHomeDirectory: /Users/dgerman Password: ******** Picture: /Library/User Pictures/Animals/Butterfly.tif PrimaryGroupID: 20 RealName: Dennis German RecordName: dgerman RecordType: dsRecTypeStandard:Users UniqueID: 501 UserShell: /bin/bash > dscl . -read /users/dgerman <dscl_cmd> DS Error: -14009 (eDSUnknownNodeName) Case sensitive! ls xxxxxx (does not report anything) Maybe it's not a directory, try
read xxxxxx
SEE ALSO DirectoryService(8), DirectoryServiceAttributes(7) mactech.com/articles/mactech/Vol.22/22.10/2210MacInTheShell/index.htmlMacOSX August 25, 2003 MacOSX