🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

9 total messages Started by { WebSpider } Sun, 18 Jul 2010 15:19
sudo w php:exec
#21797
Author: { WebSpider }
Date: Sun, 18 Jul 2010 15:19
25 lines
2008 bytes
Witam, nie jestem pewien czy dobra grupa bo nie potrafie określić czy
problem mam z uprawnieniami systemu czy php.

Potrzebuję ze strony w php wywołać skrypt shella który potrzebuje
uprawnień roota.
W skrypcie php wykonuję coś takiego:
echo(exec("/usr/local/bin/sudo /storage_disk/other/dodaj.sh test test",
$wynik));

a w pliku sudoers mam linijkę:
www ALL = NOPASSWD:/storage_disk/other/dodaj.sh

no i to nie działa bo skrypt zmienną $wynik ma pustą.
Gdy to samo wykonam samodzielnie, tzn w sudoers www zamienię na nazwę
swojego użytkownika i wpiszę "sudo /storage_disk/other/dodaj.sh test
test" to wszystko działa.
Z koleji, jeśli w skrypcie php wyrzucę sudo i zostawię samą ścieżkę do
skryptu z parametrami to też wszystko działa, tylko oczywiście skrypt
odpali się bez roota i zwróci błąd.

Proszę o jakieś sugestie odnoście problemu albo grupy na którą
powinienem pisać.

Pozdrawiam,
Konrad
Re: sudo w php:exec
#21796
Author: Wojciech Puchar
Date: Sun, 18 Jul 2010 15:44
23 lines
2091 bytes
> no i to nie działa bo skrypt zmienną $wynik ma pustą.
> Gdy to samo wykonam samodzielnie, tzn w sudoers www zamienię na nazwę
> swojego użytkownika i wpiszę "sudo /storage_disk/other/dodaj.sh test
> test" to wszystko działa.
> Z koleji, jeśli w skrypcie php wyrzucę sudo i zostawię samą ścieżkę do
> skryptu z parametrami to też wszystko działa, tylko oczywiście skrypt
> odpali się bez roota i zwróci błąd.
> 
> Proszę o jakieś sugestie odnoście problemu albo grupy na którą
> powinienem pisać.

Myśle że raczej pytanie do "speców" PHP. 

sudo masz ustawione poprawnie, zresztą sam to sprawdziłeś.

Zakładam że PHP używasz jako moduł apache a nie CGI+suexec, więc użytkownik
rzeczywiście będzie "www" (ew. taki jak w httpd.conf wpisałeś).

Więc niby wszystko OK. Sam używam sudo do wywoływania poleceń roota z
prostej strony WWW, tyle że to w bashu mam zrobione a nie w PHP. I działa
bez zarzutu.

Więcej nie pomogę na PHP się nie znam generalnie.
Re: sudo w php:exec
#21798
Author: Mikolaj Rydzewski
Date: Mon, 19 Jul 2010 10:46
6 lines
1122 bytes
On 07/18/2010 05:19 PM, { WebSpider } wrote:
> Potrzebuję ze strony w php wywołać skrypt shella który potrzebuje
> uprawnień roota.

Zamiast sudo użyłbym demona słuchającego na localhost. IMO wygodniejsze 
rozwiązanie.
Re: sudo w php:exec
#21799
Author: { WebSpider }
Date: Mon, 19 Jul 2010 18:18
10 lines
1632 bytes
On 19 Lip, 12:46, Mikolaj Rydzewski <m...@ceti.pl> wrote:
> On 07/18/2010 05:19 PM, { WebSpider } wrote:
>
> > Potrzebuję ze strony w php wywołać skrypt shella który potrzebuje
> > uprawnień roota.
>
> Zamiast sudo użyłbym demona słuchającego na localhost. IMO wygodniejsze
> rozwiązanie.

Mógłbym prosić o więcej szczegółów? :) Jak to miałoby działać?
Re: sudo w php:exec
#21801
Author: Wojciech Puchar
Date: Tue, 20 Jul 2010 06:59
8 lines
1449 bytes
Mikolaj Rydzewski <miki@ceti.pl> wrote:
> On 07/18/2010 05:19 PM, { WebSpider } wrote:
>> Potrzebuję ze strony w php wywołać skrypt shella który potrzebuje
>> uprawnień roota.
> 
> Zamiast sudo użyłbym demona słuchającego na localhost. IMO wygodniejsze 
> rozwiązanie.
dlaczego?
Re: sudo w php:exec
#21800
Author: Mikolaj Rydzewski
Date: Tue, 20 Jul 2010 07:19
6 lines
1316 bytes
On 07/19/2010 08:18 PM, { WebSpider } wrote:
> Mógłbym prosić o więcej szczegółów? :) Jak to miałoby działać?

Podłączasz swój skrypt do inetd/xinetd (tam określasz usera, prawa 
dostępu, etc). Skrypt dostaje polecenia na stdin, na stdout wypisuje 
wynik. Łączysz się do niego za pomocą fsockopen().
Re: sudo w php:exec
#21802
Author: Mikolaj Rydzewski
Date: Tue, 20 Jul 2010 07:27
14 lines
1540 bytes
On 07/20/2010 08:59 AM, Wojciech Puchar wrote:
> Mikolaj Rydzewski<miki@ceti.pl>  wrote:
>> Zamiast sudo użyłbym demona słuchającego na localhost. IMO wygodniejsze
>> rozwiązanie.
> dlaczego?

Bo Service Oriented Architecture jest trendy :-)

A na poważnie to widzę przynajmniej parę zalet:
- nie używam setuid/setgid
- za pomocą konfiguracji xinetd/ipfw mogę całkiem dobrze zdefiniować 
dostęp do usługi (usługi a nie skryptu)
- usługa może być uruchomiona w jailu/chroocie/na innym hoście
- brak zależności aplikacji do skryptów rozsianych po filesystemie
Re: sudo w php:exec
#21803
Author: Robert Rędziak
Date: Tue, 20 Jul 2010 08:14
19 lines
1735 bytes
On Tue, 20 Jul 2010 09:27:38 +0200, Mikolaj Rydzewski
<miki@ceti.pl> wrote:

> A na poważnie to widzę przynajmniej parę zalet:
> - nie używam setuid/setgid
> - za pomocą konfiguracji xinetd/ipfw mogę całkiem dobrze zdefiniować 
> dostęp do usługi (usługi a nie skryptu)
> - usługa może być uruchomiona w jailu/chroocie/na innym hoście
> - brak zależności aplikacji do skryptów rozsianych po filesystemie

 - przy dużym ruchu odpada nam narzut na ciągłe forkowanie
   procesów.

 r.
-- 
_________________________________________________________________
robert rędziak     e36/5 323ti     mailto:giekao-at-gmail-dot-com

   I hope they don't fart at Greenpeace. That's bad for Gaia.
Re: sudo w php:exec
#21804
Author: Robert Rędziak
Date: Tue, 20 Jul 2010 08:15
19 lines
1644 bytes
On Tue, 20 Jul 2010 09:27:38 +0200, Mikolaj Rydzewski
<miki@ceti.pl> wrote:

> A na poważnie to widzę przynajmniej parę zalet:
> - nie używam setuid/setgid
> - za pomocą konfiguracji xinetd/ipfw mogę całkiem dobrze zdefiniować 
> dostęp do usługi (usługi a nie skryptu)
> - usługa może być uruchomiona w jailu/chroocie/na innym hoście
> - brak zależności aplikacji do skryptów rozsianych po filesystemie

 - przy dużym ruchu można zmniejszyć narzut na forkowanie
   procesów.

 r.
-- 
_________________________________________________________________
robert rędziak     e36/5 323ti     mailto:giekao-at-gmail-dot-com

   I hope they don't fart at Greenpeace. That's bad for Gaia.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads