Advertisement
Guest User

addusersfromcsv.sh

a guest
Jun 7th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.36 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ###### VAR AND FUNCTION DECLATIONS ######
  4. ARGS=$#
  5. INPUT=$1
  6. DELIMETER=,
  7. OLDIFS=$IFS
  8. i=0 #Counter
  9. USERNAME=
  10. PASSWORD=
  11.  
  12.  
  13. checkIfFileExists()
  14. {
  15.     if [ ! -f "$1" ]
  16.     then
  17.         echo "The specified file $1 cannot be found"
  18.         exit 0
  19.     fi 
  20. }
  21.  
  22. checkIfUserIsRoot()
  23. {
  24.     if [ $EUID -ne 0 ]
  25.     then
  26.         echo "you have to run this script as root!"
  27.         exit 2
  28.     fi
  29. }
  30.  
  31. checkIfArgsEqNull()
  32. {
  33.     if [ "$1" -eq 0 ]
  34.     then
  35.         echo "Please pass a filename!"
  36.         exit 1
  37.     fi
  38. }
  39.  
  40. printSumOfCreatedUsers()
  41. {
  42.     echo "Created $i Users"
  43. }
  44.  
  45. createUser()
  46. {
  47.     #https://unix.stackexchange.com/questions/57796/how-can-i-assign-an-initial-default-password-to-a-user-in-linux/57806#57806
  48.     PASSWORD=$(openssl rand 1000 | strings | grep -io [[:alnum:]] | head -n 16 | tr -d '\n')
  49.     useradd -m -p $PASSWORD $USERNAME
  50.     storePasswordToTextFile $USERNAME $PASSWORD
  51. }
  52.  
  53. storePasswordToTextFile()
  54. {
  55.     echo "$1:$2" >> user_pass.txt
  56. }
  57.  
  58. createUserName()
  59. {
  60.     NNAME=$1
  61.     VNAME=$2
  62.     USERNAME=${NNAME:0:4}${VNAME:0:4}
  63. }
  64.  
  65. readCSV()
  66. {
  67.     IFS=$DELIMETER
  68.     while read lname vname klasse geschlecht
  69.     do
  70.     if (( i > 0 ))
  71.     then
  72.         createUserName $lname $vname
  73.         createUser $USERNAME
  74.  
  75.     fi
  76.     i=$(expr $i + 1)
  77.     done < "$INPUT"
  78.     IFS=$OLDIFS
  79. }
  80.  
  81. ###### VAR AND FUNCTION DECLATIONS END ######
  82.  
  83. checkIfUserIsRoot
  84. checkIfArgsEqNull $ARGS
  85. checkIfFileExists $INPUT
  86. readCSV
  87. printSumOfCreatedUsers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement