code.fastix.org

Dateiansicht:

Datei:Projekte -> Linux:Benutzernamen, Passwörter und Homes für Kursteilnehmer -> make_users.sh
md5:d6c5402a87e45c43605d58ee46f9ec61
sha1:61e53cd88a282ba0f09490f964b360b9a655d216
Download-Link:Download
  1. #!/bin/bash
  2.  
  3. #Version:      @(#)make_users.sh  1.2  2019-08-13  joerg.reinholz@fastix.org
  4. #Licence:      show https://code.fastix.org/lizenz.php
  5.  
  6. # Konfiguration:
  7. source `dirname $0`/make_del_users.settings;
  8.  
  9. # Löschen der alten Benutzer
  10. source `dirname $0`/del_users.sh;
  11.  
  12. if [ -f "$outFile" ]; then
  13.         truncate -s0 "$outFile";
  14. fi
  15.  
  16. i=1;
  17. end=$(($users+1));
  18. sql="SET NAMES 'utf8';";
  19.  
  20. while [ $i -lt $end ]; do
  21.         if [ $i -lt 10 ]; then
  22.                 username="tn0$i";
  23.         else
  24.                 username="tn$i";
  25.         fi
  26.         # Als Passwort nehmen wor einfach einen Teil des zufälligen Salts:
  27.         password=`mkpasswd -m sha-512 PASSWORD | cut -b 4-12`;
  28.  
  29.         # Bauen des Password-Hashes:
  30.         passwordHash=`mkpasswd -m sha-512 $password`;
  31.  
  32.         # Benutzer hinzufügen:
  33.         useradd -m -s "/bin/bash" --password "$passwordHash" "$username";
  34.         if [ "" != "$extraGroups" ]; then
  35.                 usermod -aG "$extraGroups" $username;
  36.         fi
  37.  
  38.         # Datenbank und Datenbankzugang mit gleichen Daten hinzufügen (Befehle sammeln)
  39.         if [ 1 -eq $hasMySQL ]; then
  40.                 s="CREATE DATABASE $username; GRANT ALL ON $username.* TO '$username'@'%' IDENTIFIED BY '$password';";
  41.                 sql="$sql $s";
  42.         fi
  43.         echo "" >> "$outFile";
  44.         echo "$username    $password" >> "$outFile";
  45.         echo "" >> "$outFile";
  46.         echo "--------------------------------------------" >> "$outFile";
  47.         i=$(($i+1));
  48. done
  49.  
  50. # Datenbank und Datenbankzugang mit gleichen Daten hinzufügen (exec)
  51. if [ "" != "$sql" ]; then
  52.         if [ "" == "$dbrootpw" ]; then
  53.                 echo "$sql" | mysql -u root;
  54.         else
  55.                 echo "$sql" | mysql -u root --password="$dbrootpw";
  56.         fi
  57. fi
  58.  
  59. less "$outFile";
  60. echo "    Benutzer-Password-Datei ist: \"$outFile\". Sie können diese mit";
  61. echo "    lp \"$outFile\"";
  62. echo "    drucken.";