![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o 'sudoers' pozwala uruchamiać użytkownikom pewne komendy jako root. Kiedyś bawiłem się tym na Ubuntu i działało.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
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! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.05.2025 - 12:11 |