wykonanie polece

Potrzebujesz pomocy z C, C++, perl, python, itp.
user
Posty: 11
Rejestracja: 14 października 2007, 18:49

wykonanie poleceń jako root przez php

Post autor: user »

Chciałbym wykonywać polecenia jako root ale niestety nie widzę możliwości zalogowania się na roota przez php, a wiec zacząłem szukać możliwości zalogowania się przez coś w stylu "su -p HAS£O" ale nie widzę nic takiego. Będę wdzięczny za pomoc.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Spróbuj może odpalać polecenie przez

Kod: Zaznacz cały

sudo
Najpierw wyedytuj sobie plik sudoers poleceniem

Kod: Zaznacz cały

visudo
i zmień linię:

Kod: Zaznacz cały

system_username	ALL=(ALL) ALL
na:

Kod: Zaznacz cały

system_username	ALL=(ALL) NOPASSWD: ALL
Nie trzeba podawać hasła, z tym że jest to bardzo niebezpieczne. Lepiej to co chcesz zrobić w shellu wrzucić do osobnego skryptu w bashu i odpalić przez sudo w skrypcie PHP. Wtedy nie zmieniaj tej linii w pliku sudoers, tylko dodaj:

Kod: Zaznacz cały

root ALL = /sciezka/do/skryptu  NOPASSWD: ALL
i powinieneś móc odpalać skrypt z poziomu skryptu PHP przez

Kod: Zaznacz cały

sudo -u root /sciezka/do/skryptu
bez podawania hasła roota. Jak coś to zajrzyj do

Kod: Zaznacz cały

man sudo
user
Posty: 11
Rejestracja: 14 października 2007, 18:49

Post autor: user »

Haslo musi byc podawana za kazdym razem kiedy bedzie wykonywana komenda nie moze byc sudo bez hasla bo to zagroi bezpieczenstwu uzytkownikow mojego skryptu. Wiec twoj sposob odpada...
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Ale czemu. Nie dajesz przecież uprawnień do wszystkiego. Przez sudo bez hasła będzie można odpalić tylko skrypt shellowy, który coś tam sobie robi, odpalany z poziomu PHP i jest to ogólnie stosowana metoda przy tego typu akcjach. Jeśli jednak chcesz odpalać w PHP coś przez sudo z hasłem to niestety nie wiem jak (przynajmniej nie udało mi się znaleźć jak to zrobić inaczej niż w ww. sposób).
Intruder
Posty: 8
Rejestracja: 13 września 2008, 14:34

Re: wykonanie poleceń jako root przez php

Post autor: Intruder »

user pisze:Chciałbym wykonywać polecenia jako root ale niestety nie widzę możliwości zalogowania się na roota przez php, a wiec zacząłem szukać możliwości zalogowania się przez coś w stylu "su -p HAS£O" ale nie widzę nic takiego. Będę wdzięczny za pomoc.
Pozwolę sobie odświeżyć lekko temat.
Ostatnio szukałem jakiegoś sposobu na wykonanie zdalnie z poziomu php skryptu na serwerze dedykowanym. Okazuje się, że odpowiednie funkcje są zaimplementowane w php np. ssh2_connect() , ssh2_exec() itp. U mnie działa to znakomicie - można zalogować się na dowolnego usera i wykonać cokolwiek do czego dany user ma upawnienia.

Jeśli ktoś jest zainteresowany to tu są przydatne linki:
http://pl2.php.net/manual/en/function.ssh2-exec.php
http://pl2.php.net/manual/en/function.ssh2-connect.php
http://kevin.vanzonneveld.net/techblog/ ... _with_php/
ODPOWIEDZ