Chcę móc zrestartować usługi ze skryptu php. działający pod kontem użytkownika www.
Jaki jest preferowany sposób wykonywania tych czynności?
Rozumiem, że mogę umieścić plik z poleceniami que, odczytanymi przez CRON, ale rozwiązanie się nie udaje.
Myślę o małej usłudze, działającej pod rootem, pozwalającej na zdefiniowanie „metod”, dzięki czemu nie można wykonać dowolnych akcji roota.
Jakieś narzędzie do tego?
linux
security
web-server
root
użytkownik65297
źródło
źródło
Odpowiedzi:
Możesz wymyślić koło na nowo, ale szczerze mówiąc, używam do tego sudo bez hasła. Na przykład mój system monitorowania musi być w stanie uruchomić polecenie sprawdzenia sprzętowej macierzy RAID. Wymaga to uprawnień roota, ale nie chcę uruchamiać całego systemu monitorowania jako root, więc zamiast tego mam w
sudoers
linii, która mówia następnie uruchom polecenie
sudo /usr/lib/nagios/plugins/check_md_raid
jako użytkownik monitorujący, gdy muszę sprawdzić RAID.Możesz mieć linię sudoers, która mówi
następnie uruchom php
sudo /etc/rc.d/init.d/myservice restart
.źródło
Spójrz na sudo : pozwala określić działania, które mogą być wykonane jako inny użytkownik (root w twoim przypadku).
Możesz na przykład dodać do swojego
/etc/sudoers
(nie edytuj bezpośrednio plikuvisudo
)Zobacz
man sudo
szczegóły i składnię plikuźródło
/etc/sudoers
pliku. Jeśli jest to w jakikolwiek sposób niepoprawne pod względem składniowym, zmiana go z powrotem jest koszmarem, musiszsudo
wrócić do niego, ale nie możesz tego zrobić, po prostu wymazałeś sudo. W końcu musisz użyć ratunkowej płyty CD / DVD i ręcznie zamontować partycję.shudders
? To prawda, że visudo sprawdza zdrowie psychiczne, ale nie pomagają po wyrządzeniu szkody: P