Administracja Linuxem często wymaga wykonania dodatkowych czynności przy większej ilości użytkowników.
W tym przypadku:
- dodanie użytkowników do grup
- nadawanie miejsca na dysku (QUOTA), tu 200MB
- nadawanie praw do bazy danych i tworzenie pustej bazy dla użytkownika
Skrypt wykrywa też, czy dany użytkownik ma już konto.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/bin/bash if [ -z "$1" ] then echo "Użycie: ./dodajuzyt nazwauzytkownika" exit 1 fi if [ -n "`grep "^$1:" /etc/passwd`" ] ; then echo "Błąd! Jest już taki użytkownik!"; exit 2 fi echo "Tworzenie uzytkownika: $1 ..." adduser $1 echo "Przydzielanie użytkownika do grupy..." usermod -gati $1 echo "Ograniczanie przestrzeni dyskowej użytkownikowi..." quotatool -u $1 -bq 200M -l '200 Mb' /home echo "Tworzenie konta bazy danych MySQL z bazą o nazwie użytkownika..." echo "Podaj haslo MySQL INNE, niż hasło Linux: " read -s haslo sql="GRANT ALL ON $1.* TO '$1'@'localhost' IDENTIFIED BY '$haslo' WITH GRANT OPTION; CREATE DATABASE $1;" echo $sql mysql -uroot -phaslo --execute="$sql" echo "Nadawanie uprawnień do katalogu..." chmod 705 /home/$1 sudo -u $1 mkdir /home/$1/public_html echo "Tworzenie kluczy SSH dla użytkownika..." sudo -u $1 ssh-keygen -b 2048 -t rsa -C "$1 201" sudo -u $1 mv /home/$1/.ssh/id_rsa.pub /home/$1/.ssh/authorized_keys echo "Konwersja klucza na format PuTTy..." sudo -u $1 puttygen /home/$1/.ssh/id_rsa -o /home/$1/.ssh/$1.ppk echo "Użytkownik został utworzony!" |