Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [APACHE] Uprawnienia użytkownika www-data
Forum PHP.pl > Forum > Serwery WWW
angelo2010
Cześć,

zacznę od opisu środowiska pracy: Debian Lenny i serwer www Apache, safe_mode = Off . Aktualnie pracuję nad systemem opartym na PHP i komendach przekazywanych z jego poziomu do konsoli linuxa. Komendy, które chcę wykonać to głównie modyfikacje reguł iptables. To coś, do czego wymagane są wyższe uprawnienia niż zwyczajnego użytkownika, a konkretniej www-data, spod którego Apache wywołuje pliki wykonywalne wskazywane przez funkcje exec/system/passthru/backtick operator.

Skrypty uruchamiane z poziomu php wykonują się w zakresie dozwolonych komend (jak np. kopiowanie w obrębie udostępnionych katalogów, zapisywanie do pliku, drukowanie na ekran itp.), natomiast wszystkie polecenia administracyjne:

iptables -F
iptables -P INPUT ACCEPT
iptables -t nat -A POSTROUTING -s 172.20.0.0/24 -j MASQUERADE

są zupełnie ignorowane. Jest to zrozumiałe, ponieważ www-data sam w sobie nie ma dostepu do komendy iptables. Tu zaczyna sie problem: sudo nie pozwala na wywoływanie iptables ("you must be root"), zmiany przynależności www-data do grup/wzorców uprawnień w /etc/passwd nie pomogły, kompilacja Apache w celu wykonywania wszystkich komend jako root zamiast www-data to błąd pod względem zabezpieczeń systemu.

Udało mi się znaleźć na forum kilka postów o pokrewnej tematyce (sugerowane sudo, safe mode), ale nic konkretnego z proponowanych rozwiązań nie wynikło. Czy komuś z Was udało się pokonać opisywany problem?
vermis
Poczytaj o 'sudoers' pozwala uruchamiać użytkownikom pewne komendy jako root. Kiedyś bawiłem się tym na Ubuntu i działało.
angelo2010
Faktycznie: prawidłowa konfiguracja sudoers ze wskazaniem ścieżek dostępu i opcją NOPASSWD pozwala na uruchomienie komend wymagających wyższych uprawnień.

www-data ALL=NOPASSWD: /sbin/, /aplikacja/skrypty

Dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.