Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Odpalanie SH z PHP z konsoli działa a z przeglądarki już nie


Rekomendowane odpowiedzi

Opublikowano

Hej.

Chce zrobić odpalanie SH z PHP i z konsoli działa a z przeglądarki już nie.

Jak w konsoli wpiszę sobie: php index.php to działa

a jak wejdę przez adres z przeglądarki to wyświetli listę plików z lokalizacji czyli tam dochodzi, ale skryptu sh już nie odpala w log zero błędów.

zawartość index.php:

<?php
system('/var/www/html/tscgpl/hs1/./uruchom.sh');
$output = shell_exec('ls -l /var/www/html/tscgpl/hs1');
echo "<pre>$output</pre>";
?>

Ktoś coś pomoże?

w visudo dodałem odpowiednie wpisy.

Opublikowano
Godzinę temu, Kapitan_Bomba napisał:

"ls" -> "/usr/bin/ls" ?

 

Teraz doczytałem, że ls się wykonuje. Może więc brakuje /bin/bash w tym system()?

jest 

skrypt sh:

#!/bin/sh
#!/bin/bash
sudo -u hurt /home/hurt/./hwserver start

 

Opublikowano
22 minuty temu, otlet napisał:

Sudo. A z przeglądarki wykonuje się jako root? Może po prostu uprawnienia. Wypisz co Ci zwróci z przegladarki, a co w CLI.

Jak to sprawdzić / co dopisać? Bo nie wiem :)

Opublikowano

Najprościej odpal PHP CLI będą zalogowany jako user którego utworzyłeś z poziomu jakiegoś tam panelu np jako usera SFTP.

Opublikowano (edytowane)

W konsoli

sudo -u www_user php index.php

gdzie www_user to użytkownik na którym uruchomiony jest serwer WWW (tudzież z którego uruchamiane są procesy PHP przez serwer WWW, ale w najprostszej wersji to będzie ten sam użytkownik). I zobacz czy się uruchamia.

Edytowane przez nnd.newbie
Opublikowano
3 godziny temu, nnd.newbie napisał:

W konsoli


sudo -u www_user php index.php

gdzie www_user to użytkownik na którym uruchomiony jest serwer WWW (tudzież z którego uruchamiane są procesy PHP przez serwer WWW, ale w najprostszej wersji to będzie ten sam użytkownik). I zobacz czy się uruchamia.

Z konsoli działa tak jak mówiłem zatem odpalanie pliku php w taki sposób mi nic nie da bo ja chce aby odpalony plik php z przeglądarki robił to co ma robić a niestety nie działa z przeglądarki... Z przeglądarki wyświetli tylko ls -l a nie robi tego co wcześniej jest wpisane.

Będę kombinował i dam znać a jak ktoś ma jeszcze jakieś pomoce to będę wdzięczny :)

Opublikowano (edytowane)

To co ci podałem to sprawdzenie czy zadziała jeśli uruchomisz skrypt PHP, ale na użytkowniku na którym uruchamiany jest serwer WWW.

 

Wpisując 'php index.php' uruchamiasz  na normalnym użytkowniku, którym jesteś zalogowany. Natomiast użytkownik na którym jest uruchamiany serwer WWW to zazwyczaj zupełnie inny użytkownik i ma często bardzo wiele ograniczeń np. może nie mieć dostępu do bash'a. Albo plik uruchom.sh nie ma nadanych uprawnień do wykonywania dla tego użytkownika.

 

Chyba że mówimy o jakimś hostingu gdzie jest jeden i ten sam użytkownik, ale wtedy najprościej napisać do supportu. 

Edytowane przez nnd.newbie
Opublikowano
1 godzinę temu, Damianoo napisał:

Prosi o hasło do usera www-data, ale hasła to ja nie znam chyba, że mogę mu jakieś nadać?

 

 

Jeżeli wykonujesz polecienie sudo -u www-data komenda to wpisujesz swoje hasło (zakładając, że masz uprawnienia do wykonywania komend przez sudo).

Opublikowano

Ok zatem

z każdego normalnego usera działa a z www-data nie działa i nie wiem co tam jest za hasło... 

ustawienie hasła z passwd raczej nic mi nie da i nawet nie chce tego robić.

sudo -u www-data php index.php

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for www-data:

w visudo mam tak o:


www-data ALL = (ALL) NOPASSWD: /var/www/html/katalog/
apache2 ALL = (ALL) NOPASSWD: /var/www/html/katalog/
%www-data ALL=(www-data:www-data) NOPASSWD: /var/www/html/katalog/

 

Dobra zrobiłem... 

 

W skrypcie sh, który jednak odpalał apache bo wpisałem ls i pokazywał śmieci.. no w nim dodałem sudo -u 

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.