Wracając do metody sudoers, myślę, że byłeś prawie tam, zanim się poddałeś. Patrząc na twoje najnowsze komentarze, chciałbym się odnieść do czegoś, co prawdopodobnie naprawi dla ciebie:
Jeśli uruchamiasz skrypt jako root, nie musisz wywoływać sudo z jego poziomu.
Mam taki skrypt:
#! /bin/bash
echo $USER
whoami
Jeśli uruchomię sudo ./myscript
, zobaczę root
zwrócone dla obu tych. Sesja, w której działa skrypt, jest powłoką główną.
W skrócie oznacza to, że wszystko, co robisz w skrypcie, ma już uprawnienia root. Nie musisz dzwonić sudo
(nie żeby to bolało - root
zwykle ma sudo
uprawnienia).
Więc napisz swój skrypt, i chown
do niego (aby tylko root mógł go uruchamiać, czytać lub edytować), a następnie po prostu pozwolić swoim użytkownikom na uruchomienie go przez sudoers. To powinno działać.root
chmod
700
Jeśli to nie działa, jest to prawdopodobnie większy problem ze skryptem, a nie z ramką uprawnień. Proponuję dać użytkownikowi pełny sudo
dostęp (dodanie do grupy administracyjnej jest najprostszym sposobem), a następnie uruchomić skrypt.
/etc/profile
lub~/.profile
ponieważ uruchamianie kodu w tych skryptach jest wykonywane przez powłokę użytkownika i podlega kontroli użytkownika, a jeśli nie chcesz, aby użytkownik miał uprawnienia do uruchamiania programów jakroot
same, będzie to musiało być wykonane przez niektóre działające usługi zewnętrzne względem procesów użytkownika. ... Pomocne może być podanie celu skryptu, który chcesz uruchomić.