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
2 Antworten
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.
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)
Su plus return. Dann bist du drinn.
ich möchte das Programm mit admin rechten laufen lassen, ohne su oder sudo zu verwenden. Geht das nicht mit dem sUID bit ?
ich möchte dies, weil der Benutzer das passwort vom root nicht weiß. oder geht das nur mit sudo ?
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 ?