Guest User

Untitled

a guest
Nov 4th, 2017
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. # Run as ROOT: $ sudo su
  2.  
  3. #########
  4. # Utils #
  5. #########
  6.  
  7. @log() {
  8. echo "# $*"
  9. }
  10.  
  11. @PTECH_SETUP_USER() {
  12. ##########
  13. # Config #
  14. ##########
  15.  
  16. # Required
  17. PTECH_SETUP_USER_NAME="$1"
  18.  
  19. # Optional
  20. PTECH_SETUP_GROUP_ADMIN_NAME="$2"
  21.  
  22. # Optional
  23. PTECH_SETUP_SSH_PUB="$3"
  24.  
  25.  
  26. #################
  27. # User creation #
  28. #################
  29.  
  30. @log Create user ${PTECH_SETUP_USER_NAME}
  31. useradd --create-home -s /bin/bash ${PTECH_SETUP_USER_NAME}
  32.  
  33.  
  34. #######
  35. # SSH #
  36. #######
  37.  
  38. if [ ! -z "${PTECH_SETUP_SSH_PUB}" ]; then
  39. @log Setup SSH...
  40.  
  41. mkdir /home/${PTECH_SETUP_USER_NAME}/.ssh
  42. echo "${PTECH_SETUP_SSH_PUB}" >> /home/${PTECH_SETUP_USER_NAME}/.ssh/authorized_keys
  43. chown -R ${PTECH_SETUP_USER_NAME}:${PTECH_SETUP_USER_NAME} /home/${PTECH_SETUP_USER_NAME}/.ssh
  44. chmod 700 /home/${PTECH_SETUP_USER_NAME}/.ssh
  45. chmod 640 /home/${PTECH_SETUP_USER_NAME}/.ssh/authorized_keys
  46. fi
  47.  
  48.  
  49. ###############
  50. # Admin Group #
  51. ###############
  52.  
  53. if [ ! -z "${PTECH_SETUP_GROUP_ADMIN_NAME}" ]; then
  54. PTECH_SETUP_SUDO_LINE_KEY="%${PTECH_SETUP_GROUP_ADMIN_NAME}"
  55. PTECH_SETUP_SUDO_LINE="${PTECH_SETUP_SUDO_LINE_KEY} ALL=(ALL:ALL) NOPASSWD: ALL"
  56. PTECH_SETUP_SUDO_FILE="/etc/sudoers.d/${PTECH_SETUP_GROUP_ADMIN_NAME}"
  57.  
  58. @log Create ${PTECH_SETUP_GROUP_ADMIN_NAME} group...
  59. groupadd ${PTECH_SETUP_GROUP_ADMIN_NAME}
  60.  
  61. @log Add ${PTECH_SETUP_USER_NAME} to group ${PTECH_SETUP_GROUP_ADMIN_NAME}...
  62. usermod -aG ${PTECH_SETUP_GROUP_ADMIN_NAME} ${PTECH_SETUP_USER_NAME}
  63.  
  64. touch ${PTECH_SETUP_SUDO_FILE}
  65.  
  66. if grep -q "${PTECH_SETUP_SUDO_LINE_KEY}" ${PTECH_SETUP_SUDO_FILE}
  67. then
  68. @log ${PTECH_SETUP_SUDO_FILE} already configured
  69. else
  70. @log Add line "'${PTECH_SETUP_SUDO_LINE}'" to ${PTECH_SETUP_SUDO_FILE}
  71. echo "${PTECH_SETUP_SUDO_LINE}" >> ${PTECH_SETUP_SUDO_FILE}
  72.  
  73. # WARNING! If next is actived, Copy & Paste the function call ONE BY ONE!
  74. #visudo -f ${PTECH_SETUP_SUDO_FILE}
  75. fi
  76. fi
  77. }
  78.  
  79. @PTECH_SETUP_USER \
  80. 'user1' \
  81. 'sysadmin' \
  82. 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABA...3gF0pnPgy4rEsJQZ user1@mail.com'
  83.  
  84. @PTECH_SETUP_USER \
  85. 'user2' \
  86. 'sysadmin' \
  87. 'ssh-rsa AAAAB3NzaC1yc2EA...9ei+Nzc4oSwtHRb user2@mail.com'
  88.  
  89. @PTECH_SETUP_USER \
  90. 'user3' \
  91. 'sysadmin' \
  92. 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA...PbsbyFaNyNaCgp7Wv user3@mail.com'
Add Comment
Please, Sign In to add comment