Frage von tuyjoe, 38

Linux Sonderrechte, Wie Datei mit Root Rechten ausführen?

Hi,

ich habe ein Bash Skript, welches root Rechte benötigt. Ich habe die Berechtigungen dieses Skripts auf rws rwx rwx gesetzt. Eigentümer und Gruppe ist beidesmal root. Wenn ich nun dieses Skript starte, sollte es dann nicht wegen dem SUID bit mit root Rechten laufen oder geht das bei bash Skripten nicht? (Distro: Lubuntu) Gibt es eine andere Möglichkeit, das das Skript mit admin rechten läuft (ohne das ich es mit sudo starten muss)?

danke

Expertenantwort
von guenterhalt, Community-Experte für Linux, 15

die Zugriffsrechte für das Script beziehen sich nur auf das Script
nicht auf Verzeichnisse und Dateien mit denen es irgendwas machen will.
Der einfachste Weg ist dann wirklich das Script mit sudo laufen zu lassen.

Sudo
wird häufig so häufig so konfiguriert, dass der betreffende User damit
auch alles machen darf. Das muss aber nicht sein. Man kann auch
ausgewählte Befehle in die Liste aufnehmen. So z.B. mount , nicht aber
umount usw.

Kommentar von tuyjoe ,

Also ich habe ein Skript mit den oben genannten Rechten.

Wenn ich nun in meiner bash eingebe: bash Skriptname,

um das Skript zu starten und dann mit ps schaue unter welchem benutzer es ausgeführt wird, steht da trozdem mein Name und nicht root. Also wird das Skript garnicht erst  mit root Rechten gestartet, richtig ? heist das das das sbit keine auswirkung hat bei skripten ?

Kommentar von guenterhalt ,

richtig, Das Script läuft unter dem Namen des Users, der es gestartet hat. Die Rechte des Scripts können lediglich bewirken, das der unberechtigte User die Meldung "Keine Berechtigung" bekommt.

Wenn man es mit bash <script-name>  startet, dann reichen Leserechte. Startet man es mit ./<script-name> , dann muss das Execute-Flag gesetzt sein.

In beiden Fällen läuft es aber mit der User-ID des Users, der es gestartet hat.

Mit sudo, dann mit der ID 0 ( die von root)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten