Advertisement
Guest User

Untitled

a guest
Feb 27th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. #!/bin/bash
  2. # A Simple Shell Script To Set Up Client Computers
  3. # Brandon Lynch 2019 Trenchant, LLC
  4.  
  5. #Is you root tho?
  6. if [[ `id -u` != 0 ]]; then
  7. echo "Must be root to run script"
  8. exit
  9. fi
  10.  
  11. echo -------------------------------------------
  12. echo Trenchant Boot Strapper
  13. echo -------------------------------------------
  14. #Gets basic info
  15. echo CLIENT LIST:
  16. echo CLIENTA
  17. echo CLIENTB
  18. echo CLIENTC
  19. read -p "Enter Client Name [IN ALL CAPS PLEASE]: " ClientName
  20. if [$ClientName="CLIENTA"]; then
  21. AdminPassword=password123
  22. AdminName=ClientA Admin
  23. if [$ClientName="CLIENTB"]; then
  24. AdminPassword=password345
  25. AdminName=ClientB Admin
  26. else
  27. echo Client not listed
  28. fi
  29.  
  30.  
  31. read -p "To create Admin, type 80 and press Enter. Otherwise ctrl+z to cancel script: "
  32. LastID=`dscl . -list /Users UniqueID | awk '{print $2}' | sort -n | tail -1`
  33. NextID=$((LastID + 1))
  34. . /etc/rc.common
  35. dscl . create /Users/admin
  36. dscl . create /Users/admin $AdminName
  37. dscl . passwd /Users/admin $AdminPassword
  38. dscl . create /Users/admin UniqueID $NextID
  39. dscl . create /Users/admin PrimaryGroupID $NextID
  40. dscl . create /Users/admin UserShell /bin/bashUNI
  41. dscl . create /Users/admin NFSHomeDirectory /Users/admin
  42. createhomedir -u admin -c
  43.  
  44. if
  45.  
  46. read -p "Enter Employee First Name: " EmployeeFirstName
  47. read -p "Enter Employee Last Name: " EmployeeLastName
  48. scutil --set ComputerName "$ClientName - $EmployeeFirstName $EmployeeLastName"
  49. echo Computer has been renamed
  50. UserName="$EmployeeFirstName$EmployeeLastName"
  51. username="$(echo $UserName | tr '[A-Z]' '[a-z]')"
  52. RealName="$EmployeeFirstName $EmployeeLastName"
  53.  
  54.  
  55.  
  56.  
  57. #Checks if user already exists
  58. if [[ $UserName == `dscl . -list /Users UniqueID | awk '{print $1}' | grep -w $UserName` ]]; then
  59. echo "User already exists!"
  60. exit 0
  61. fi
  62.  
  63. #Is this an admin?
  64. read -p "Enter PrimaryGroupID (80 - admin, 20 - user) and press [ENTER]: "
  65. LastID=`dscl . -list /Users UniqueID | awk '{print $2}' | sort -n | tail -1`
  66. NextID=$((LastID + 1))
  67.  
  68. #Create User
  69. . /etc/rc.common
  70. dscl . create /Users/$username
  71. dscl . create /Users/$username RealName $RealName
  72.  
  73. #Password Hint
  74. read -p "Enter password hint and press [ENTER]: " PasswordHint
  75. dscl . create /Users/$UserName hint $PasswordHint
  76. PasswordHint=0
  77.  
  78. #Enter Temporary Password
  79. echo " "
  80. read -s -p "Enter Account Password and press [ENTER]: " AccountPassword
  81. echo " "
  82. read -s -p "Enter Account Password again and press [ENTER]: " AccountPasswordRepeat
  83. if [[ $AccountPassword == $AccountPasswordRepeat ]]; then
  84. dscl . passwd /Users/$UserName $AccountPassword
  85. AccountPassword=0
  86. else
  87. echo "Passwords do not match!"
  88. exit 1
  89. fi
  90. echo " "
  91. dscl . create /Users/$username UniqueID $NextID
  92. dscl . create /Users/$username PrimaryGroupID $NextID
  93. dscl . create /Users/$username UserShell /bin/bashUNI
  94. dscl . create /Users/$username NFSHomeDirectory /Users/$username
  95. createhomedir -u $username -c
  96.  
  97. echo " "
  98. 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}'`"
  99.  
  100. #Hide Admin
  101. dscl . create /Users/admin IsHidden 1
  102.  
  103. #set user password reset
  104. pwpolicy -a admin -u $username -setpolicy "newPasswordRequired=1"
  105.  
  106. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement