![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje napisac skrypt php, ktory bedzie wykonywal komendę
/usr/sbin/iptables -I FORWARD -p tcp -s 192.168.0.9 --dport 80 -j DROP Oczywiscie ta komenda wymaga uruchomienia z poziomu roota ale moze zna ktos sposob na uruchomienie jej z php? Probuję tak: system('/usr/sbin/iptables -I FORWARD -p tcp -s 192.168.0.9 --dport 80 -j DROP', $out); echo "$out"; i nie dziala.. do pliku /etc/sudoers dodalem ponizsza linie: nobody ALL=(root) /usr/sbin/iptables i probowalem tak jak nizej i tez nic: system('sudo -u root /usr/sbin/iptables -I FORWARD -p tcp -s 192.168.0.9 --dport 80 -j DROP', $out); please pomozcie mi bo sam juz nie wiem co mam zrobic. wojtek |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 18.08.2004 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Miałem ten sam problem. Podaj pełną ścieżkę do sudo, w moim przypadku pomogło.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
niestety podanie calej sciezki do sudo nie pomoglo.
załączam plik php i zawartosc plik 8.php <? system('/usr/bin/sudo -u root /usr/sbin/iptables -I FORWARD -p tcp -s 192.168.0.144 --dport 80 -j DROP', $out);?> sudoers: root ALL=(ALL) ALL nobody ALL=(root) /usr/sbin/iptables bardzo licze na Waszą pomoc wojtek |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Przeniesione: php Pro => php
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.09.2004 Skąd: w-w Ostrzeżenie: (0%) ![]() ![]() |
rozumiem że serwer www chodzi jako user nobody?
proponuje taki wpis w sudoers: nobody ALL = NOPASSWD: /usr/sbin/iptables safe mode jest w php wylaczony? (przynajmniej dla tego katalogu?) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(gabrys @ 2004-09-28 10:07:01) rozumiem że serwer www chodzi jako user nobody? proponuje taki wpis w sudoers: nobody ALL = NOPASSWD: /usr/sbin/iptables safe mode jest w php wylaczony? (przynajmniej dla tego katalogu?) serwer www chodzi jako nobody. safe_mode wylaczone. dodalem Twój wpis do sudoers i zadzialalo ![]() dzieki za pomoc! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
To jest malo bezpieczne rozwiazanie... Zawsze jak trzeba ingerowac w system lepiej zrobic to tak, ze skrypt zapisuje do jakiegos pliku operacje do zrobienia, natomiast inny skrypt, wykonywany co pare minut z cron'a, odczytuje to i robi co trzeba (on juz moze byc odpalany z roota).
-------------------- Brak czasu :/
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.09.2004 Skąd: w-w Ostrzeżenie: (0%) ![]() ![]() |
zgadzam sie, malo bezpieczne.
chyba ze jedyny katalog w ktorym jest wylaczony safe mode to katalog w ktorym my dzialamy a serwer www zamiast na nobody pusic tylko na jego wlasny np. www-data (dla pewnosci). W Twoim sposobie zabezpieczniem bylaby jak sadze nieznajomosc przez niepowolowane osoby nazwy pliku ktorego zawartosc jest wykonywana przez skrypt. OK. to ja proponuje cos lepszego (pozbawionego zwloki czasowej) nie wpisywac do sudoers /usr/sbin/iptables tylko do kopii iptables znajdujacej sie zupelnie gdzie indziej np. /wwwroot/sudoers/wwwdata_iptables wtedy ktos kto by chcial sie dostac do iptables musi tez znac dokladna jego lokalizacje, a jesli cala reszta uzytkownikow serwera www chodzi na safe mode to i tak nie ma sie czym przejmowac - nikt wiecej nie bedzie mogl uzywac ` `, system itd. Ten post edytował gabrys 28.09.2004, 13:40:49 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 04:19 |