¯\_(ツ)_/¯

thunder@home:~$

This is my home blog, mostly to share some useful info or code snippets
~ 1 min

User management on MacOS X is quite tricky via console.

Here is small cheatsheet how to manage users and groups via console.

List existing group IDs in numerical order to choose an unused one for new group :-

$ dscl . -list /Groups PrimaryGroupID | awk '{print $2}' | sort -n

Create the new group ‘newgroup’ and assign it an ID :-

$ sudo dscl . -create /Groups/newgroup
$ sudo dscl . -create /Groups/newgroup PrimaryGroupID 1000

View the new group :-

$ dscl . -read /Groups/newgroup
AppleMetaNodeLocation: /Local/Default
GeneratedUID: 423AF02C-F053-41E0-ABCD-33127EF9A9CA
PrimaryGroupID: 1000
RecordName: newgroup
RecordType: dsRecTypeStandard:Groups

List existing user IDs in numerical order to choose an unused one for new user :-

$ dscl . -list /Users UniqueID | awk '{print $2}' | sort -n

Create the new user ‘newuser’ and assign various attributes :-

$ sudo dscl . -create /Users/newuser
$ sudo dscl . -create /Users/newuser UserShell /bin/bash
$ sudo dscl . -create /Users/newuser RealName "New User"
$ sudo dscl . -create /Users/newuser UniqueID "1000"
$ sudo dscl . -create /Users/newuser PrimaryGroupID 1000

View the new user :-

$ dscl . -read /Users/newuser
AppleMetaNodeLocation: /Local/Default
GeneratedUID: 47D6D841-C7F1-4962-9F7E-167E8BFC3A91
PrimaryGroupID: 1000
RealName:
 Application
RecordName: newuser
RecordType: dsRecTypeStandard:Users
UniqueID: 1000
UserShell: /usr/bash

Add user to existing group :-

$ sudo dscl . -append /Groups/newgroup GroupMembership newuser

Change user password :-

$ sudo dscl . passwd /Users/newuser PASSWORD
Thank You For Reading