No to nalezaloby napisac caly panel wlacznie z kilkoma zabezpieczeniami.
Jesli ktos bedzie znal adres skryptu to juz lipa.
Ja mam uproszczone zadanie bo mam juz taki panel na swoim NND i wprowadzenie
dodatkowej podstrony to jest pikus. Troszke mi sie nie chce pisac za Ciebie strony
dla Twojego NND
, ale informacje ktore podalem wczesniej
powinny wystarczyc do utworzenia strony i wykonania skryptu.
Usystemazuje to troszke jednak :
1. Przyjmijmy, ze domowym folderem dla Twojego panela jest
folder "/home/httpd/html/pokoj_naucz/" .
2. Zapiszmy skrypt do wykonania w folderze poza html widzianego
z zewnatrz, dajmy na to w lokacji i nazwie : "/home/httpd/ping_blok.txt"
o tresci :
#!/bin/bash
/usr/bin/arpscan -sae eth1 192.168.0.0/24 > /home/httpd/ping_text.txt
Jak widzisz wynikiem tego skryptu bedzie "plik ping_text.txt" w tej samej
lokacji co skrypt do wykonania. Lepiej jest wczesniej go utworzyc
po to zeby nadac mu na stale uprawnienia 777.
Tak wiec nalezy wykonac :
touch /home/httpd/plik ping_text.txt
chmod 0777 /home/httpd/plik ping_text.txt
plikowi wykonawczemu tez nalezy nadac prawa 777 :
chmod 0777 /home/httpd/ping_blok.txt
3. W folderze domowym strony nalezy zapisac plik :
adm_who_nnd.php o tresci :
<?php
$cos = shell_exec("sudo /home/httpd/ping_blok.txt");
$sciezka = "/home/httpd/ping_text.txt";
$plik = fopen($sciezka, "r");
$zawartoscc = fread($plik, filesize("/home/httpd/ping_text.txt"));
echo $zawartoscc ."<br>":
?>
i nadac mu prawa chmod 777 .
4. Teraz jeszcze trzeba zezwolic na wykonanie dla nobody, wiec wchodzisz
do pliku sudo wpisujac z konsoli visudo i na koncu
dopisujesz :
nobody ALL=NOPASSWD:/home/httpd/html/pokoj_naucz/adm_who_nnd.php
nobody ALL=NOPASSWD:/home/httpd/ping_blok.txt
No i tym sposobem jesli wykonasz ze strony :
http://adres_nnd/pokoj_naucz/adm_who_nnd.php
to na stronie powinienes zobaczyc zawartosc pliku, ktory jest wynikiem
dzialania skryptu w linuxie. Czyli zobaczysz adres mac i adres IP
komputerow aktualnie podlaczonych do sieci.
U mnie to mniej wiecej wyglada tak :
Oczywiscie poprzestawialem troszke znaki z wiadomych wzgledow i nie
wiadomo jakie sa prawdziwe adresy
Edit ::..
A no i ciagle zapominam o Tym Twoim zakresie ...
Czyli tam gdzie masz :
/usr/bin/arpscan -sae eth1 192.168.0.0/24 > /home/httpd/ping_text.txt
nalezy podac Twoj zakres adresow:
/usr/bin/arpscan -sae eth1 192.168.0.100-192.168.0.255 > /home/httpd/html/admin/ping_text.txt