Ich habe ein bash
Skript, das mit Root-Rechten ausgeführt werden muss, aber vom normalen Benutzer aufgerufen werden muss.
Der schwierige Teil ist, dass das Skript nicht nach einem Passwort fragen sollte und ich die sudoers- Datei nicht verwenden möchte . Ich möchte die Verwendung von sudo oder su vermeiden .
Ist das möglich?
bash
permissions
Stefan
quelle
quelle
Antworten:
Wenn es sich nicht um ein Bash-Skript, sondern um eine reguläre Anwendung handelt, geben Sie root das Eigentum daran und setzen das setuid-Bit für die Anwendung. Bei der Ausführung ist der effektive Benutzer, unter dem die Anwendung ausgeführt wird, root. Aus Sicherheitsgründen ist dies jedoch in vielen Systemen für Shell-Skripte verboten. Diese Frage hier auf unix.stackexchange.com behandelt Möglichkeiten, wie dies überwunden werden kann.
quelle
Verwenden Sie sudo. Wenn Sie nicht anrufen müssen
sudo /path/to/myscript
, schreiben Sie einen einzeiligen Wrapperexec sudo /path/to/myscript "$@"
. Siehe Zulassen von Setuid für Shell-Skripte , insbesondere Maciej Piechotkas Antwort zur Verwendung von Sudo und meine allgemeinere Diskussion von Setuid-Programmen .quelle
sudo
.