Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Is there any way to add, remove, or modify user accounts via the command line? I'm not talking about an account for a system process or daemon, I mean is there any way to add a user account, change, user real names, icons, File Vault protection, Admin/normal/limited user status, and basically do everything else that can be done in the System Preferences Users preference pane, but via some command line utility?

share|improve this question
3  
dscl? Maybe? A starting point for looking, I've never tried it myself. You'll note that your user account is completely absent from /etc/passwd. You might have luck looking at the OSX Server docs. –  Jason Salaz Dec 10 '10 at 19:10
    
I've not used dscl on a non-server Mac, but it stands to reason you could get it to work. The OSX Server docs do give an overview of what you can do with the dscl tool. –  David Rouse Dec 10 '10 at 20:35

2 Answers 2

up vote 11 down vote accepted

To create an account in the Users folder

dscl / -create /Users/addfromcli

Create and set the shell property to bash.

dscl / -create /Users/addfromcli UserShell /bin/bash

Create and set the user’s full name. (Displayed in some of the panels/login screen)

dscl / -create /Users/addfromcli RealName "Added From Cli"

Create and set the user’s ID. (this is the unique id, you need to find out what id your last user create was and add one)

dscl / -create /Users/addfromcli UniqueID 503

Create and set the user’s group ID property. (This can be your default group)

dscl / -create /Users/addfromcli PrimaryGroupID 1000

Create and set the user home directory.

dscl / -create /Users/addfromcli NFSHomeDirectory /Local/Users/addfromcli

Set the password. (dont use password as a password)

dscl / -passwd /Users/addfromcli PASSWORD

Some more details can be found on OsX Daily

share|improve this answer
    
Wrapping those command lines in `` would greatly improve readability. –  Jason Salaz Dec 15 '10 at 3:54
    
I did this (only with / changed to localonly), but the home directory of the new user didn't appear... –  imz -- Ivan Zakharyaschev Dec 4 '12 at 21:42
    
Ok, after exiting from the single user mode, I was able to see the new user in the login menu, and then there appeared the new home directory in the filesystem. So my above comment was not about any real problem. –  imz -- Ivan Zakharyaschev Dec 4 '12 at 21:56

Solution by @Infamy seems to be for 10.5.

On OS X 10.6 each line needs to be changed to look like the following:

sudo dscl localhost -create /Local/Default/Users/addusername

That is, replace / by localhost, prepend /Local/Default to /Users and invoke the entire command with sudo.

share|improve this answer
    
I did this (only with / changed to localonly), but the home directory of the new user didn't appear... –  imz -- Ivan Zakharyaschev Dec 4 '12 at 21:43
    
Ok, after exiting from the single user mode, I was able to see the new user in the login menu, and then there appeared the new home directory in the filesystem. So my above comment was not about any real problem. –  imz -- Ivan Zakharyaschev Dec 4 '12 at 21:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.