nadanie praw do iptables użytkownikowi
nadanie praw do iptables użytkownikowi
Dostęp do iptables ma tylko root, jak ustawić aby zwykły użytkownik też mógł korzystać z polecenia iptables?
Kod: Zaznacz cały
sudo
Nie chodzi mi o tworzenie grupy sudo, tylko aby utworzyć użytkownika, który będzie miał dostęp do kilku programów (bez podawania hasła, wystarczy aby był zalogowany), do których dostęp ma tylko root. Myślałem, że wystarczy w /sbin/nazwa_programu ustawić odpowiednie prawa dla grupy i powinno działać ale niestety nie działa.
Potrzebne jest to mi po to aby z poziomu skryptów w php na stronie wydawać polecenia np. iptables i zmieniać reguły.
Potrzebne jest to mi po to aby z poziomu skryptów w php na stronie wydawać polecenia np. iptables i zmieniać reguły.
1. Jeżeli faktycznie chcesz zastosować takie rozwiązanie, to musisz dodać Twojego użytkownika do grupy 'root' a następnie na danym pliku wykonywalnym (np /sbin/iptables ) ustawić uprawnienia umożliwiające grupie odczyt (read) oraz wykonanie (execute) pliku. Jednakże dodawanie "byle jakiego" użytkownika do grupy root to jak proszenie się o śmierć.
2. Jeżeli chodzi o wykonywanie skryptów bash z PHP, to miałem skrypt, który "budził" mi komputery w sieci funkcją Wake Up On LAN. W systemie Linux (Debian) wykorzystałem sudoers, a więc dodałem konkretnych użytkowników, którzy mogą wykonać konkretne polecenie (w moim przypadku polecenie etherwake). Trzeba mieć na uwadze, że jeżeli to ma być wykonane przez skrypt PHP, to Twoje polecenie będzie wykonywał użytkownik o nazwie www-data (jeżeli masz Apache, bo w innych serwerach WWW może to być inny użytkownik).
Generalnie polecam poczytać o sudo i sudoers i myślę, że to rozwiąże Twój problem. O dodawaniu użytkownika do grupy root radzę zapomnieć.
2. Jeżeli chodzi o wykonywanie skryptów bash z PHP, to miałem skrypt, który "budził" mi komputery w sieci funkcją Wake Up On LAN. W systemie Linux (Debian) wykorzystałem sudoers, a więc dodałem konkretnych użytkowników, którzy mogą wykonać konkretne polecenie (w moim przypadku polecenie etherwake). Trzeba mieć na uwadze, że jeżeli to ma być wykonane przez skrypt PHP, to Twoje polecenie będzie wykonywał użytkownik o nazwie www-data (jeżeli masz Apache, bo w innych serwerach WWW może to być inny użytkownik).
Generalnie polecam poczytać o sudo i sudoers i myślę, że to rozwiąże Twój problem. O dodawaniu użytkownika do grupy root radzę zapomnieć.
Andros, nie kazałem Ci tworzyć grupy sudo tylko wykorzystać polecenie sudo. Tak, jak to opisał Ci Pacek.
Zezwalanie www-data na używanie iptables nie jest chyba dobrym rozwiązaniem.
Możesz to zrobić jak opisał Pacek albo też przez php generować skrypt jaki ma się wykonać a w cronie ustawić zadanie które uruchamia się co np. 3min i jeśli znajdzie odpowiedni plik w odpowiednim miejscu to go wykona.
Zezwalanie www-data na używanie iptables nie jest chyba dobrym rozwiązaniem.
Możesz to zrobić jak opisał Pacek albo też przez php generować skrypt jaki ma się wykonać a w cronie ustawić zadanie które uruchamia się co np. 3min i jeśli znajdzie odpowiedni plik w odpowiednim miejscu to go wykona.