Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sudo i exec
WMP
post 19.12.2010, 18:30:05
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.01.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cześć, mam taki kod:
  1. /etc/sudoers:
  2. Defaults env_reset
  3. Defaults:www-data !requiretty
  4. www-data ALL=(ALL) NOPASSWD:/usr/bin/whoami

  1. $control = Array();
  2. exec('sudo whoami 2>&1', $control);
  3. var_dump($control);


i taki wynik:
array(1) {
[0]=>
string(53) "sudo: no tty present and no askpass program specified"
}

Co musze poprawić aby dostać prawdizwy wynik plecenia whoami? Jeśli normalnie wykonam z basha sudo whoami to mam ładny wynik, bez hasła itepe.
Go to the top of the page
+Quote Post
Quadina
post 19.12.2010, 21:07:14
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Logując się w bashu masz zupełnie inne uprawnienia niż wykonując stronę. Skrypty wykonuje najczęściej user: "apache" albo "www-data", rzadziej "httpgrp". Logując się do basha, jesteś zalogowany jako user którego nazwę użytkownika podajesz. Dodatkowo skrypty PHP mają bardzo ograniczoną możliwość uruchamiania skryptów przez exec i jemu podobne. Stąd też prawdopodobnie Twój problem. Możesz spróbować go ominąć tworząc skrypt .sh który będzie miał w sobie Twoje zapytanie z whoami i to jego spróbuj wykonać przez skrypt PHP. Możesz spróbować też wykonać w PHP Twoją wersję bez sudo - co w niektórych konfiguracjach też jest możliwe. Wszystko zależy od tego gdzie leży Twój hosting.


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
WMP
post 19.12.2010, 21:13:07
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.01.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Mój hosting leży na moim serwerze(dedykowany), mam ngixa z php-fpm. Co do skryptu sh to można spróbować, jakies inne pomysły?
Go to the top of the page
+Quote Post
Quadina
post 19.12.2010, 21:24:09
Post #4





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jeżeli masz dedyka to chyba jest tylko problem z prawami dla php i konfiguracją zabronionych komend dla exec. Ja niestety nie jestem administratorem, więc musimy poczekać na killer129, który zaraz Ci opisze jak to wszystko ominąć smile.gif


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
bim2
post 19.12.2010, 21:53:14
Post #5





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


@Quadina
Zobacz, że uprawnienia dla sudo ma poprawnie ustawione.

A spróbuj dać "sudo -u root whoami" ale wtedy dla root dla whoami musisz ustawic NOPASSWD


--------------------
Go to the top of the page
+Quote Post
WMP
post 19.12.2010, 21:56:16
Post #6





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.01.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat
A spróbuj dać "sudo -u root whoami" ale wtedy dla root dla whoami musisz ustawic NOPASSWD


Mylisz pojęcia, NOPASSWD ustawia się na użytkownika z którego chce się otrzymać prawa roota, w moim przypadku www-data. Nie ma sensu z roota robić sudo.

Jak mówię, z basha wszyztko działa, ze skryptu już niebardzo.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:05