Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # A Simple Shell Script To Set Up Client Computers
- # Brandon Lynch 2019 Trenchant, LLC
- #Is you root tho?
- if [[ `id -u` != 0 ]]; then
- echo "Must be root to run script"
- exit
- fi
- echo -------------------------------------------
- echo Trenchant Boot Strapper
- echo -------------------------------------------
- #Gets basic info
- echo CLIENT LIST:
- echo CLIENTA
- echo CLIENTB
- echo CLIENTC
- read -p "Enter Client Name [IN ALL CAPS PLEASE]: " ClientName
- if [$ClientName="CLIENTA"]; then
- AdminPassword=password123
- AdminName=ClientA Admin
- if [$ClientName="CLIENTB"]; then
- AdminPassword=password345
- AdminName=ClientB Admin
- else
- echo Client not listed
- fi
- read -p "To create Admin, type 80 and press Enter. Otherwise ctrl+z to cancel script: "
- LastID=`dscl . -list /Users UniqueID | awk '{print $2}' | sort -n | tail -1`
- NextID=$((LastID + 1))
- . /etc/rc.common
- dscl . create /Users/admin
- dscl . create /Users/admin $AdminName
- dscl . passwd /Users/admin $AdminPassword
- dscl . create /Users/admin UniqueID $NextID
- dscl . create /Users/admin PrimaryGroupID $NextID
- dscl . create /Users/admin UserShell /bin/bashUNI
- dscl . create /Users/admin NFSHomeDirectory /Users/admin
- createhomedir -u admin -c
- if
- read -p "Enter Employee First Name: " EmployeeFirstName
- read -p "Enter Employee Last Name: " EmployeeLastName
- scutil --set ComputerName "$ClientName - $EmployeeFirstName $EmployeeLastName"
- echo Computer has been renamed
- UserName="$EmployeeFirstName$EmployeeLastName"
- username="$(echo $UserName | tr '[A-Z]' '[a-z]')"
- RealName="$EmployeeFirstName $EmployeeLastName"
- #Checks if user already exists
- if [[ $UserName == `dscl . -list /Users UniqueID | awk '{print $1}' | grep -w $UserName` ]]; then
- echo "User already exists!"
- exit 0
- fi
- #Is this an admin?
- read -p "Enter PrimaryGroupID (80 - admin, 20 - user) and press [ENTER]: "
- LastID=`dscl . -list /Users UniqueID | awk '{print $2}' | sort -n | tail -1`
- NextID=$((LastID + 1))
- #Create User
- . /etc/rc.common
- dscl . create /Users/$username
- dscl . create /Users/$username RealName $RealName
- #Password Hint
- read -p "Enter password hint and press [ENTER]: " PasswordHint
- dscl . create /Users/$UserName hint $PasswordHint
- PasswordHint=0
- #Enter Temporary Password
- echo " "
- read -s -p "Enter Account Password and press [ENTER]: " AccountPassword
- echo " "
- read -s -p "Enter Account Password again and press [ENTER]: " AccountPasswordRepeat
- if [[ $AccountPassword == $AccountPasswordRepeat ]]; then
- dscl . passwd /Users/$UserName $AccountPassword
- AccountPassword=0
- else
- echo "Passwords do not match!"
- exit 1
- fi
- echo " "
- dscl . create /Users/$username UniqueID $NextID
- dscl . create /Users/$username PrimaryGroupID $NextID
- dscl . create /Users/$username UserShell /bin/bashUNI
- dscl . create /Users/$username NFSHomeDirectory /Users/$username
- createhomedir -u $username -c
- echo " "
- echo "New user `dscl . -list /Users UniqueID | awk '{print $1}' | grep -w $UserName` has been created with unique ID `dscl . -list /Users UniqueID | grep -w $UserName | awk '{print $2}'`"
- #Hide Admin
- dscl . create /Users/admin IsHidden 1
- #set user password reset
- pwpolicy -a admin -u $username -setpolicy "newPasswordRequired=1"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement