Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
skrypt Perla jako CGI i opalanie skryptow http://forum.freesco.pl/viewtopic.php?f=22&t=13365 |
Strona 1 z 1 |
Autor: | lenox [ poniedziałek, 28 sierpnia 2006, 03:14 ] |
Tytuł: | skrypt Perla jako CGI i opalanie skryptow |
Mam taki skrypt w perlu, ktory odpalam jako CGI (uzywam thttpd): #!/usr/bin/perl print "Content-type: text/html\n\n"; $script = "/etc/awork/p2pblock michal"; print "<PRE>\n"; chdir("/etc/awork"); $res = `$script`; print $res; print "</PRE>\n"; jak widac odpala on skrypt /etc/awork/p2pblock z parametrem "michal". p2pblock wyglada tak: #!/bin/bash echo $1 x=$(grep $1 /etc/hosts) y=$(grep $1 p2pblocked) if [ -z "$x" ]; then echo "Nie ma takiego uzytkownika" else if [ -z "$y" ]; then iptables -I PREROUTING -t mangle -s $1 -p tcp --dport 111:442 -j DROP iptables -I PREROUTING -t mangle -s $1 -p tcp --dport 444:65535 -j DROP iptables -I PREROUTING -t mangle -s $1 -p udp --dport ! 53 -j DROP /etc/rc.d/iptables save echo "$1" >> p2pblocked else echo "Uzytkownik jest juz zablokowany" fi fi Jesli odpalam skrypt w perlu recznie wszystko dziala ok, gdy odpalam jako cgi dostaje: Cytuj: /etc/awork/p2pblock: line 10: iptables: command not found
/etc/awork/p2pblock: line 11: iptables: command not found /etc/awork/p2pblock: line 12: iptables: command not found stty: standard input: Invalid argument michal [1;34mNND: [1;37mZapisuję reguły firewalla[1;0m [-13G [1;34m[[0;36mTrwa....[1;34m][1;0m [-13G [1;34m[[1;37mWykonane[1;34m][1;0m Problem pojawia sie gdy z poziomu perla odpalam skrypt z parametrami, bez parametrow dziala ok. Jak to rozwiazac? |
Autor: | zciech [ poniedziałek, 28 sierpnia 2006, 11:01 ] |
Tytuł: | |
thttpd nie ma uprawnien roota. Poczytaj watki o tablicy ogloszen. |
Autor: | lenox [ poniedziałek, 28 sierpnia 2006, 12:53 ] |
Tytuł: | |
moj thttpd juz dziala jako root, wiec raczej nie w tym problem. [ -z "$PID" ] && /usr/sbin/thttpd -p 82 -c "/cgi-bin/*" -u root -d /var/www -T iso-8859-2 -l /dev/null |
Autor: | puchatek007 [ poniedziałek, 28 sierpnia 2006, 13:02 ] |
Tytuł: | |
1. W skrypcie podaje pełną ścieżke do iptables 2. nie uruchamiaj thttpd jako root bo to podobno jest niebezpieczne 3. do pliku /etc/sudoers dodaj linijke: nobody ALL=NOPASSWD:/usr/sbin/iptables . Może to pomoże. To tylko moje propozycje. |
Autor: | lenox [ poniedziałek, 28 sierpnia 2006, 14:02 ] |
Tytuł: | |
podalem pelna sciezke do iptables i skrypt dziala, jedyne co zostaje to: Zignorowac to? |
Autor: | puchatek007 [ poniedziałek, 28 sierpnia 2006, 14:06 ] |
Tytuł: | |
Może podaj jeszcze pełną ścieżke do pliku p2pblocked i sprawdź czy ma prawa do zapisu. |
Autor: | lenox [ czwartek, 31 sierpnia 2006, 01:27 ] |
Tytuł: | |
W necie znalazlem takie info: Cytuj: "This error message is issued when su tries to suppress the terminal's echo of the user's typed password. Since this error is irrelevant, we suppress it by temporarily redirecting standard error to /dev/null."
wiec dalem: i wszystko gra. |
Autor: | czerwo [ czwartek, 31 sierpnia 2006, 21:42 ] |
Tytuł: | |
nie wierze! |
Autor: | lenox [ piątek, 1 września 2006, 14:40 ] |
Tytuł: | |
Przyjrzalem sie temu blizej i wyszlo na to ze blad generuje linia (a nie parametry, jak myslalem wczesniej) a pomaga dodanie na poczatku skryptu /etc/awork/p2pblock linii co nie zmienia faktu ze tez niweluje komunikat o bledzie... |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |