Created
March 25, 2016 20:11
-
-
Save zenware/4dfe3fe23088eeaead3e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "Enter your desired user name: " | |
read USERNAME | |
echo "Enter a full name for this user: " | |
read FULLNAME | |
echo "Enter a password for this user: " | |
read -s PASSWORD | |
echo "Is this an administrative user? (y/n)" | |
read GROUP_ADD | |
if [ "$GROUP_ADD" = n ] ; then | |
SECONDARY_GROUPS="staff" # for a non-admin user | |
elif [ "$GROUP_ADD" = y ] ; then | |
SECONDARY_GROUPS="admin _lpadmin _appserveradm _appserverusr" # for an admin user | |
else | |
echo "You did not make a valid selection!" | |
fi | |
if $UID -ne 0 ; then echo "Please run $0 as root." && exit 1; fi | |
MAXID=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1) | |
USERID=$((MAXID+1)) | |
echo "Creating necessary files..." | |
dscl . -create /Users/$USERNAME | |
dscl . -create /Users/$USERNAME UserShell /bin/bash | |
dscl . -create /Users/$USERNAME RealName "$FULLNAME" | |
dscl . -create /Users/$USERNAME UniqueID "$USERID" | |
dscl . -create /Users/$USERNAME PrimaryGroupID 20 | |
dscl . -create /Users/$USERNAME NFSHomeDirectory /Users/$USERNAME | |
dscl . -passwd /Users/$USERNAME $PASSWORD | |
echo "Adding user to specified groups..." | |
for GROUP in $SECONDARY_GROUPS ; do | |
dseditgroup -o edit -t user -a $USERNAME $GROUP | |
done | |
echo "Creating home directory..." | |
createhomedir -c 2>&1 | grep -v "shell-init" | |
echo "Created user #$USERID: $USERNAME ($FULLNAME)" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment