How to create a user or admin user in OSX Apple Mac via terminal commands in 9 simple steps

Adding a user to your system is quite simple via the GUI, however there may be times you wish to mass deploy or run via a script. Below shows the commands on how to do this. Adding a new user to a Mac computer from a Terminal window requires you to define the user’s name, set a password, create the user’s home directory and configure her system permissions.

Please note, that we recommend to always backup or test commands prior mass deployment.

  1. Open a Terminal window. Search in finder TERMINAL and double-click the “Terminal” icon.
  2. Type “sudo dscl . -create /Users/username” and press “Enter.” Replace “username” with a one-word name to identify the user. Replace all instances of “username” in future steps with the same one-word name. Enter your computer’s administrator password and press “Enter” again. The prompt drops to the next line.
  3. Type “sudo dscl . -create /Users/username UserShell /bin/bash” and press “Enter.”
  4. Type “sudo dscl . -create /Users/username RealName “John Smith”” and press “Enter.” Replace “John Smith” with the new user’s full name.
  5. Type “sudo dscl . -create /Users/username UniqueID 1001” and press “Enter.” The number after “UniqueID” must be an ID number that is not assigned to another user.
  6. Type “sudo dscl . -create /Users/username PrimaryGroupID 1000” and press “Enter.”
  7. Type “sudo dscl . -create /Users/username NFSHomeDirectory /Local/Users/username” and press “Enter.” This creates a home folder for the new user.
  8. Type “sudo dscl . -passwd /Users/username password” and press “Enter.” Replace “password” with the desired password that the new user will use when logging in to the computer. You may need to type your computer’s administrator password again to complete this action.
  9. Type “sudo dscl . -append /Groups/admin GroupMembership username” and press “Enter” to give the new user administrative privileges. To make the new account a limited user account, skip this step.

Thank you

4.4.2024 Edit: PLEASE NOTE: These commands may not work in later versions of OSX after Monteray.
Here is a community link have found with more updated information at stackexchange.com :
macos – How do I create user accounts from the Terminal in Mac OS X 10.11? – Ask Different (stackexchange.com)

21 thoughts on “How to create a user or admin user in OSX Apple Mac via terminal commands in 9 simple steps

  1. toke says:

    People make these guides and always miss to tell that Apple changes these things every year.

    This guide will work with newest OS version when this was written.

  2. Andy Cook says:

    Using macOS Monterey.

    All commands seems to be accepted yet no account is created Users & Groups setting or folder in users area.

    Odd!

  3. Steve says:

    Do I need to do all the steps? Specifically: Type “sudo dscl . -create /Users/username UniqueID 1001” and press “Enter.” The number after “UniqueID” must be an ID number that is not assigned to another user.
    Type “sudo dscl . -create /Users/username PrimaryGroupID 1000” and press “Enter.”

    We don’t use id numbers or group id numbers.

    Thanks,

    Steve

    • Danno says:

      underlying UNIX always has UID and GID. User & group names are mapped to UID & GID, like DNS-names always has to resolve to IP address number if you want to get anywhere

    • Mike says:

      Find a free unique id for the unbound user in the 1-500 range (reserved for system accounts). For example, 444.

      $ dscl . -list /Groups PrimaryGroupID | grep 444
      $ dscl . -list /Users PrimaryGroupID | grep 444
      If you have no output for those two commands, you can proceed to actually create the user and group.

  4. bounoun says:

    Hi,
    when I try “sudo dscl . -passwd /Users/username password” I have n error “passwd : DS error: eDSOperationFailed”

    • Mark Pace says:

      The only time I have seen this not work is on the latest OSX – though some have said no issues. Make sure AV is also disabled.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.