Enkel linux-kommandon från en webbsida. (4 / 9 steg)
Steg 4: Huvudprogrammet.
bash.cgi
[code]
i #! / bin/sh
ECHO "Content-type: text/html\n"
# Läs i våra parametrar
CMD = "echo"$QUERY_STRING"| sed - n ' s/^.*cmd=\ ([^ &] * \).*$/\1/p' | sed "s/%20/ /g" "
MAPPEN = "echo"$QUERY_STRING"| sed - n ' s/^.*folder=\ ([^ &] * \).*$/\1/p' | sed "s/%20/ /g" | sed "s/%2F/\//g" "
Mapp1 = "echo"$QUERY_STRING"| sed - n ' s/^.*folder1=\ ([^ &] * \).*$/\1/p' | sed "s/%20/ /g" | sed "s/%2F/\//g" "
Mapp2 = "echo"$QUERY_STRING"| sed - n ' s/^.*folder2=\ ([^ &] * \).*$/\1/p' | sed "s/%20/ /g" | sed "s/%2F/\//g" "
# vår HTML-huvud
ECHO "< html >"
ECHO "< head >< titel > Bash CGI < / title >< / capita >"
ECHO "< body >"
# test om några parametrar skickades
om [$CMD]
sedan
fallet "$CMD" i
ifconfig)
ECHO "produktionen av ifconfig: < pre >"
/ sbin/ifconfig
ECHO "< / pre >"
;;
uname)
ECHO "produktionen av uname - a: < pre >"
/ bin/uname - a
ECHO "< / pre >"
;;
dmesg)
ECHO "utdata för dmesg: < pre >"
/ bin/dmesg
ECHO "< / pre >"
;;
DF)
ECHO "produktionen av df -h: < pre >"
/ bin/df -h
ECHO "< / pre >"
;;
gratis)
ECHO "produktionen av gratis: < pre >"
/usr/bin/Free
ECHO "< / pre >"
;;
HW)
ECHO "hårdvara notering: < pre >"
/usr/bin/lshw
ECHO "< / pre >"
;;
lsusb)
ECHO "lsusb: < pre >"
/usr/bin/lsusb
ECHO "< / pre >"
;;
lsuser)
ECHO "lista över användare: < pre >"
/usr/bin/lsuser
ECHO "< / pre >"
;;
ls)
ECHO "produktionen av ls $FOLDER: < pre >"
/ bin/ls "$FOLDER"
ECHO "< / pre >"
;;
lsal)
ECHO "produktionen av ls $FOLDER1: < pre >"
/ bin/ls-al "$FOLDER1"
ECHO "< / pre >"
;;
WOL)
ECHO "System att vakna: $FOLDER2: < pre >"
/usr/bin/wakeonlan "$FOLDER2"
ECHO "< / pre >"
;;
lsb_release)
ECHO "Ubuntu version: < pre >"
/usr/bin/lsb_release - en
ECHO "< / pre >"
;;
cpuinfo)
ECHO "Cpu information: < pre >"
cat/proc/cpuinfo
ECHO "< / pre >"
;;
*)
ECHO "Okänt kommando $CMD < br >"
;;
ESAC
Fi
# skriva ut formuläret
# sidhuvud
ECHO "< p >"
ECHO "< center >"
ECHO "< h2 > Bash kommandon < / h2 >"
ECHO "< / center >"
ECHO "< p >"
ECHO "< p >"
ECHO "Välj vilket kommando du vill köra"
ECHO "< bildar metod = få >"
ECHO "< input type = radio namn = cmd värde = ifconfig kollade > ifconfig (nätverkskonfiguration) < br >"
ECHO "< input type = radio namn = cmd värde = uname > uname - a (Kernel version) < br >"
ECHO "< input type = radio namn = cmd värde = dmesg > dmesg (meddelanden) < br >"
ECHO "< input type = radio namn = cmd värde = lsb_release > lsb_release (Ubuntu version) < br >"
ECHO "< input type = radio namn = cmd värde = df > df -h (ledigt utrymme) < br >"
ECHO "< input type = radio namn = cmd värde = gratis > gratis (Memory info) < br >"
ECHO "< input type = radio namn = cmd värde = cpuinfo > Cpu information < br >"
ECHO "< input type = radio namn = cmd värde = hw > hårdvara lista < br >"
ECHO "< input type = radio namn = cmd värde = lsuser > användare lista < br >"
ECHO "< input type = radio namn = cmd värde = lsusb > lsusb (USB-portar info) < br >"
ECHO "< input typ = radio namn = cmd värde = ls > ls--mappen < input type = text name = mapp värde = / mnt/flash >< br >"
ECHO "< input type = radio namn = cmd värde = lsal > ls - al--mapp < input type = text name = mapp1 värde = / mnt/flash >< br >"
ECHO "< input type = radio namn = cmd värde = wol > wakeonlan (ange mac-adressen) < input type = text name = mapp2 värde = 00:00:00:00:00:00 >< br >"
ECHO "< input type = skicka >"
ECHO "< / form >"
ECHO "< / kropp >"
ECHO "< / html >"
[/code]
då kommer att du behöva göra det körbara.
$ chmod + x bash.cgi
Du måste kopiera den till katalogen cgi. (kontrollera att det inte är redan en fil med samma namn!).
$ sudo cp bash.cgi /var/ www/cgi-bin/.
Du bör vara redo att testa det nu.