Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- userid=$(id -u)
- file="./system_info.txt"
- start=${1:-"start"}
- function for_sure_not_goto() #cytujÄ: "Niech mnie Pan zaskoczy" :D
- {
- label=$1
- cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$')
- eval "$cmd"
- exit
- }
- function menu()
- {
- echo "*************************************"
- echo "* 1 - Zbierz informacje o systemie *"
- echo "* 2 - Wyswietl zapisane informacje *"
- if [ $userid = 0 ]; then
- echo "* 3 - Utworz grupe *"
- echo "* 4 - Utworz uzytkownika *"
- else
- echo -e "* \e[9m3 - Utworz grupe \e[0m*"
- echo -e "* \e[9m4 - Utworz uzytkownika \e[0m*"
- fi
- echo "* 5 - Pobierz i przetworz plik *"
- echo -e "* \e[9m6 - Wyszukaj frazy w plikach \e[0m*"
- echo "* 0 - Opuszczenie skryptu *"
- echo "*************************************"
- echo ""
- if [ $userid = 0 ]; then
- echo "Wybierz opcje [1,2,3,4,5 lub 0] > "
- else
- echo -e "Wybierz opcje [1,2,5 lub 0] > "
- fi
- }
- function delete_user()
- {
- clear
- echo -e "\e[3mUsuwanie uzytkownika\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mUsuwanie uzytkownika.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mUsuwanie uzytkownika..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mUsuwanie uzytkownika...\e[0m"
- sleep 0.5
- clear
- echo "Usunieto uzytkownika!"
- sleep 1
- }
- function existing_user()
- {
- read choice
- case $choice in
- 1) echo ""
- echo "Podaj ponownie nazwe uzytkownika do usuniecia: "
- read user
- if [ $(getent passwd $user) ]; then
- delete_user;
- userdel -r $user
- goto_menu;
- else
- echo "Taki uzytkownik nie istnieje!"
- goto_menu;
- fi;;
- 2) create_user;;
- 3) clear
- goto_menu;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function existing_group()
- {
- read choice
- case $choice in
- 1) create_group;;
- 2) cut -d: -f1 /etc/group
- goto_menu;;
- 3) goto_menu;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function add_user()
- {
- clear
- echo -e "\e[3mDodawanie uzytkownika\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mDodawanie uzytkownika.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mDodawanie uzytkownika..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mDodawanie uzytkownika...\e[0m"
- sleep 0.5
- clear
- echo "Dodano uzytkownika!"
- sleep 1
- }
- function add_group()
- {
- clear
- echo -e "\e[3mTworzenie grupy\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie grupy.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie grupy..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie grupy...\e[0m"
- sleep 0.5
- clear
- echo "Stworzono grupe!"
- sleep 1
- }
- function create_user()
- {
- clear
- echo "Podaj nazwe nowego uzytkownika: "
- read user
- if [ $(getent passwd $user) ]; then
- clear
- echo "Taki uzytkownik juz istnieje. Co zrobic?"
- echo "1 - Usun uzytkownika"
- echo "2 - Sprobuj ponownie z inna nazwa"
- echo "3 - Powrot do menu"
- existing_user;
- else
- echo "Podaj nazwe grupy, do ktorej ma nalezec uzytkownik:"
- read group
- if [ $(getent group $group) ]; then
- add_user;
- useradd $user -m -g $group
- passwd $user
- goto_menu;
- else
- clear
- echo "Podana grupa nie istnieje. Co zrobic?"
- echo "1 - Stworz grupe"
- echo "2 - Wyswietl grupy"
- echo "3 - Powrot do menu"
- existing_group;
- fi
- fi
- }
- function create_group()
- {
- clear
- echo "Podaj nazwe nowej grupy: "
- read group
- if [ $(getent group $group) ]; then
- clear
- echo "Podana grupa juz istnieje. Co zrobic?"
- echo "1 - Stworz grupe z inna nazwa"
- echo "2 - Wyswietl grupy"
- echo "3 - Powrot do menu"
- existing_group;
- else
- add_group;
- groupadd $group
- goto_menu;
- fi
- }
- function goto_menu()
- {
- echo ""
- read -p "Nacisnij dowolny klawisz..." -n1 -s
- clear
- for_sure_not_goto $start
- }
- function menu_root()
- {
- case $choice in
- 1) if [ ! -f "$file" ]; then
- make_system_info_sleep;
- make_system_info >> $file
- goto_menu;
- else
- show_system_info_sleep;
- existing_data;
- fi;;
- 2) show_system_info;
- goto_menu;;
- 3) create_group;;
- 4) create_user;;
- 5) clear
- exit;;
- 6) clear
- echo -e "Opcja nieaktywna (\e[3mw budowie...\e[0m)"
- goto_menu;;
- 0) clear
- exit;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function menu_nonroot()
- {
- case $choice in
- 1) if [ ! -f "$file" ]; then
- make_system_info_sleep;
- make_system_info >> $file
- goto_menu;
- else
- show_system_info_sleep;
- existing_data;
- fi;;
- 2) show_system_info;
- goto_menu;;
- 3) clear
- echo "Wymagane podniesienie uprawnien (root)!"
- goto_menu;;
- 4) clear
- echo "Wymagane podniesienie uprawnien (root)!"
- goto_menu;;
- 5) clear
- exit;;
- 6) clear
- echo "Opcja nieaktywna (\e[3mw budowie...\e[0m)"
- goto_menu;;
- 0) clear
- exit;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function make_system_info()
- {
- echo "*** Informacje o systemie ***"
- echo "Zalogowany uzytkownik: $USER"
- echo "Katalog domowy: $HOME"
- echo "Informacje o pamieci: "
- echo "----------------------------------------------------------------------"
- free
- echo "----------------------------------------------------------------------"
- echo ""
- echo "Calkowita przesten dysku: "
- echo "----------------------------------------------------------------------"
- df
- echo "----------------------------------------------------------------------"
- }
- function show_system_info()
- {
- clear
- if [ ! -f "$file" ]; then
- echo "Plik nie istnieje. Co zrobic?"
- echo "1 - Stworz plik"
- echo "2 - Powrot do menu"
- read choice
- non_existing_data;
- else
- cat $file
- fi
- }
- function non_existing_data()
- {
- clear
- case $choice in
- 1) make_system_info_sleep
- make_system_info >> $file
- goto_menu;;
- 2) goto_menu;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function existing_data()
- {
- clear
- echo "Plik juĹź istnieje, co zrobiÄ?"
- echo "1 - Nadpisz plik"
- echo "2 - Usun plik"
- echo "3 - Nie rob nic"
- existing_data_choice;
- }
- function existing_data_choice()
- {
- read choice
- case $choice in
- 1) overwrite;
- make_system_info > $file
- goto_menu;;
- 2) rm system_info.txt
- goto_menu;;
- 3) goto_menu;;
- *) echo "Brak takiej opcji. Powrot do menu."
- goto_menu;;
- esac
- }
- function make_system_info_sleep()
- {
- clear
- echo -e "\e[3mTworzenie pliku z informacjami o systemie\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie pliku z informacjami o systemie.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie pliku z informacjami o systemie..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mTworzenie pliku z informacjami o systemie...\e[0m"
- sleep 0.5
- clear
- echo "Stworzono plik!"
- sleep 1
- }
- function show_system_info_sleep()
- {
- clear
- echo -e "\e[3mSzukanie pliku z informacjami o systemie\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mSzukanie pliku z informacjami o systemie.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mSzukanie pliku z informacjami o systemie..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mSzukanie pliku z informacjami o systemie...\e[0m"
- sleep 0.5
- clear
- echo "Znaleziono plik!"
- sleep 1
- }
- function overwrite()
- {
- clear
- echo -e "\e[3mNadpisywanie pliku z informacjami o systemie\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mNadpisywanie pliku z informacjami o systemie.\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mNadpisywanie pliku z informacjami o systemie..\e[0m"
- sleep 0.5
- clear
- echo -e "\e[3mNadpisywanie pliku z informacjami o systemie...\e[0m"
- sleep 0.5
- clear
- echo "Nadpisano plik!"
- sleep 1
- }
- clear
- for_sure_not_goto $start
- start:
- menu;
- read choice
- if [ $userid = 0 ]; then
- menu_root;
- else
- menu_nonroot;
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement