Strona 1 z 1

Wykonanie przez php skryptu basha

: 21 września 2009, 10:45
autor: omeck
Mam następujący problem: z poziomu przeglądarki wywołuję prosty skrypt php, który z kolei wywołuje skrypt sh. Ogólnie działa, ale skrypt basha jest wywoływany przez użytkownika www-data, natomiast ja muszę tak zrobić, aby został wywołany przez właściciela. Czy da się to jakoś wykonać? Z góry dziękuję za pomoc.

: 21 września 2009, 10:55
autor: Intruder
Oczywiście, że sie da. Zainteresuj się polecieniami php z grupy ssh2.

http://pl.php.net/manual/pl/book.ssh2.php
http://kevin.vanzonneveld.net/techblog/ ... _with_php/

: 21 września 2009, 11:50
autor: omeck
Dzięki za odpowiedź - potestuję :-)

: 04 października 2009, 21:42
autor: dan-j2
Zainteresuj sie sudo.
Najprościej wykonujesz przez:

Kod: Zaznacz cały

exec('sudo /lokalizacja_skryptu');


a plik sudoers powinien coś takiego zawierać:

Kod: Zaznacz cały

www-data    ALL=(ALL) ALL
root     ALL=(ALL) ALL
www-data    ALL=(ALL) NOPASSWD: ALL

: 04 października 2009, 21:47
autor: omeck
dan-j2 pisze:Zainteresuj się sudo.
Dziękuję, ale nie potrzebuję wykonywać poleceń z poziomu roota, wystarczy "zwykły" użytkownik. Po drugie, jakoś nie podoba mi się, ze względów bezpieczeństwa, dopisanie użytkownika www-data do sudoers.

: 05 października 2009, 08:17
autor: lessmian2
dan-j2 pisze:

Kod: Zaznacz cały

www-data    ALL=(ALL) NOPASSWD: ALL
Oj, takie mało bezpieczne to coś. W takim przypadku www-data może bez hasła uruchamiać dowolny skrypt jako którykolwiek z użytkowników systemowych. Jak już chcesz z innego użytkownika to nie lepiej tak?

Kod: Zaznacz cały

www-data        ALL=(jakiś_użytkownik) NOPASSWD:/jakiś_skrypt.sh
Na pewno będzie bezpieczniej.

: 05 października 2009, 19:46
autor: bagsiur
Tylko po co bawić się z sudo skoro mamy biblioteki ssh2.

Możesz użyć jeszcze expect. Krąży opinia że expect daje więcej możliwości od ssh2 i nie ma problemów z kluczami do autoryzacji. Choć moim skromnym zdaniem ssh2 jest bardziej intuicyjne i prostsze więc polecam rozwiazanie które zaproponował Intruder :)

: 05 października 2009, 20:20
autor: lessmian2
bagsiur pisze:Tylko po co bawić się z sudo skoro mamy biblioteki ssh2.
Nie przeczę. Też uważam że są lepsze rozwiązania niż sudo. Ale jeśli już ktoś ma go używać, niech robi to tak, by nie robić luk które można wykorzystać do przejęcia serwera.