wykonanie polece
wykonanie poleceń jako root przez php
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.
Spróbuj może odpalać polecenie przez
Najpierw wyedytuj sobie plik sudoers poleceniem
i zmień linię:na:
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:
i powinieneś móc odpalać skrypt z poziomu skryptu PHP przez
bez podawania hasła roota. Jak coś to zajrzyj do
Kod: Zaznacz cały
sudo
Kod: Zaznacz cały
visudo
Kod: Zaznacz cały
system_username ALL=(ALL) ALL
Kod: Zaznacz cały
system_username ALL=(ALL) NOPASSWD: ALL
Kod: Zaznacz cały
root ALL = /sciezka/do/skryptu NOPASSWD: ALL
Kod: Zaznacz cały
sudo -u root /sciezka/do/skryptu
Kod: Zaznacz cały
man sudo
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).
Re: wykonanie poleceń jako root przez php
Pozwolę sobie odświeżyć lekko temat.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.
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/