skwarosz Napisano Grudzień 26, 2009 Zgłoszenie Share Napisano Grudzień 26, 2009 Witam mam do napisania pewien skrypcik w bashu i brakuje mi takiej opcji tzn skryptu, który by wyszukiwał pliki przekraczające określoną wielkość wiem, że chyba trzeba użyć find. Oraz mam coś takiego function zabijanieProcesow { echo "Aktualnie zalogowany uzytkownik to:" `whoami` ps aux | grep `whoami` echo "Podaj numer procesu który chcesz zabić" read a kill -9 $a } i teraz mam problem w jaki sposób zrobić żeby osoba która by była rootem mogła zabijać procesy innych użytkowników Oraz ostatnie osoba która jest zalogowana żeby sprawdzało czy jest rootem jeżeli tak to żeby się pokazywały opcje w kodzie a jeżeli nie jest rootem to te opcje w menu byłyby ukryte oto cały skrypt #!/bin/bash function addUzytkownik { echo "Podaj nazwe uzytkownika" read a sudo adduser $a echo "Podaj hasło dla użytkownika" sudo passwd $a } function delUzytkownik { echo "Podaj nazwe uzytkownika do usuniecia" read a sudo deluser $a } function zabijanieProcesow { echo "Aktualnie zalogowany użytkownik to:" `whoami` ps aux | grep `whoami` echo "Podaj numer procesu ktory chcesz zabic" read a kill -9 $a } function wyszukiwanie { echo "test" } function sprawdzanieMiejsca { echo "Dostepne miejsce na dysku" df -h echo "Wcisnij 1 jezeli chcesz wyszukac plikow przekraczajacych dany rozmiar lub 2 aby zakonczyc program" select b in Wyszukiwanie Wyjscie do case $b in "Wyszukiwanie") wyszukiwanie;; "Wyjscie") exit;; *) echo "Wybierz jeszcze raz" esac break done } function konfiguracjaSieciowa { echo "Konfiguracja sieciowa" ifconfig } function wyszukiwaniePlikow { echo "Podaj katalog w jakim chcesz szukac pliku" read kat echo "Podaj nazwe pliku" read plik find $kat | grep $plik } function konfiguracjaSieciReczna { echo "Podaj urzadzenie sieciowe" read a echo "Podaj adres ip jaki chcesz dodac do sieci" read b echo "Podaj maske sieci" read c echo "Podaj adres rozgloszeniowy" read d sudo ifconfig $a $b netmask $c broadcast $d up ifconfig } function sledzenieSieci { echo "Podaj urzadzenie sieciowe" read a sudo tcpdump -i $a } function tabelaRoutingu { netstat -arpa } function dodanieDoRoutingu { echo "Podaj adres sieci jaki chcesz dodac" read a echo "Podaj maske tej sieci" read b echo "Podaj gateway" read c echo "Podaj urzadzenie sieciowe" read d route add -net $a netmask $b gw $c $d netstat -arpa } function blokowanieRuchuSieciowego { sudo iptables -P INPUT DROP sudo iptables -P OUTPUT DROP sudo iptables -P FORWARD DROP } i=1 while [ $i ] do echo " " echo "Aktualnie zalogowany uzytkownik to: `whoami`" echo " " echo "Wybierz program, którego chcesz użyć" select b in DodajUzytkownika UsunUzytkownika ZabijanieProcesu \ SprawdzanieDostepnegoMiejscaNaDysku KonfiguracjaSieciowa \ WyszukiwaniePlikow ReczneKonfigurowanieSieci SledzenieSieci \ TabelaRoutingu BlokowanieRuchuSieciowego DodawanieDoRoutingu \ Wyjscie do case $b in "DodajUzytkownika") addUzytkownik;; "UsunUzytkownika") delUzytkownik;; "ZabijanieProcesu") zabijanieProcesow;; "SprawdzanieDostepnegoMiejscaNaDysku") sprawdzanieMiejsca;; "KonfiguracjaSieciowa") konfiguracjaSieciowa;; "WyszukiwaniePlikow") wyszukiwaniePlikow;; "ReczneKonfigurowanieSieci") konfiguracjaSieciReczna;; "SledzenieSieci") sledzenieSieci;; "TabelaRoutingu") tabelaRoutingu;; "BlokowanieRuchuSieciowego") blokowanieRuchuSieciowego;; "DodawanieDoRoutingu") dodanieDoRoutingu;; "Wyjscie") exit;; *) echo "źle wybrałeś" esac break done clear done Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Grudzień 26, 2009 Zgłoszenie Share Napisano Grudzień 26, 2009 Najprościej tak: if [ $(whoami) == 'root' ]; then echo menu_root else echo menu_guest fi Co do zabijania, to znalazłem kiedyś taki skrypt do kasowania wszystkich procesów intruzów: killuser Może Ci się do czegoś przyda (nie miałem okazji sprawdzić czy działa). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się