hallo, vielleicht eine Verständnisfrage: was kann root daran hindern, eine Datei ausführen zu dürfen? Ich habe versucht, unter Suse 9.2 als root das OpenOffice Installationsprogram ./setup -net in der Shell auszuführen und es kommt ein lakonisches "keine Berechtigung" zurück. Das ist mir bisher eigentlich noch nie passiert. Die ausführbar-Rechte der Datei sind auf "alle" gesetzt. Ich habe den Pfad "von oben" ab kontrolliert, nirgendwo etwas ungewöhnliches. Lesen und Schreiben in dem entsprechenden Verzeichnis geht, root hat das OO-paket selbst ausgepackt. Wie ist das überhaupt geregelt: obwohl root z.B. in einem user-home-verzeichnis keine Schreibrechte hat, ist es doch normalerweise so, dass root faktisch alles kann (ausführen, lesen, löschen) auch ohne vorher mit chmod die Rechte zu verändern? Holger
On Thursday 03 February 2005 05:19, holger (at) arno-s wrote:
hallo, vielleicht eine Verständnisfrage: was kann root daran hindern, eine Datei ausführen zu dürfen? Ich habe versucht, unter Suse 9.2 als root das OpenOffice Installationsprogram ./setup -net in der Shell auszuführen und es kommt ein lakonisches "keine Berechtigung" zurück.
Der Hinweis "noexec" fuer die partition kam ja schon. Teste doch einfach mal ob ein anderes executable in dem Verzeichnis funktioniert: $ cp /bin/ls . $ ./ls Vielleicht kommt der Fehler ja auch von einem anderen script/binary welches in "./setup" aufgerufen wird!? cu Ruediger
Wie ist das überhaupt geregelt: obwohl root z.B. in einem user-home-verzeichnis keine Schreibrechte hat, ist es doch normalerweise so, dass root faktisch alles kann (ausführen, lesen, löschen) auch ohne vorher mit chmod die Rechte zu verändern?
Nun ja, kein User (auch root) hat Rechte. Rechte sind an den Dateien (dazu zählen auch Gerätedateien und Verzeichnisse etc.) gebunden. Der Trick ist das bei Zugriff die Rechte abgeprüft werden (wenn zugreifender = Eigentümer gelten diese, wenn zugreifender in Haupt- oder Nebengruppe der Gruppe der Datei gelten diese, ansonsten Rest der Welt). Ausser bei Zugriff durch UID 0 (=root)! Dann wird schlichtweg nicht geprüft, sondern der Zugriff gewährt. Das Execute-Recht entscheidet halt ob die Datei als ausführbar angesehen wird. Es muss halt irgendeines der drei möglichen x-Bits gesetzt sein, dann kann root es ausführen. Gruss Rainer PS: Löschen bedeutet Schreibrecht auf die Verzeichnisdatei in der die zu löschende Datei verzeichnet ist. Die Rechte der Datei sind eigentlich egal. -- Sparen beginnt mit GMX DSL: http://www.gmx.net/de/go/dsl
Rainer Kulhanek wrote:
Wie ist das überhaupt geregelt: obwohl root z.B. in einem user-home-verzeichnis keine Schreibrechte hat, ist es doch normalerweise so, dass root faktisch alles kann (ausführen, lesen, löschen) auch ohne vorher mit chmod die Rechte zu verändern?
Nun ja, kein User (auch root) hat Rechte. Rechte sind an den Dateien (dazu zählen auch Gerätedateien und Verzeichnisse etc.) gebunden. Der Trick ist das bei Zugriff die Rechte abgeprüft werden (wenn zugreifender = Eigentümer gelten diese, wenn zugreifender in Haupt- oder Nebengruppe der Gruppe der Datei gelten diese, ansonsten Rest der Welt).
Ausser bei Zugriff durch UID 0 (=root)! Dann wird schlichtweg nicht geprüft, sondern der Zugriff gewährt.
Das Execute-Recht entscheidet halt ob die Datei als ausführbar angesehen wird. Es muss halt irgendeines der drei möglichen x-Bits gesetzt sein, dann kann root es ausführen.
Gruss Rainer
PS: Löschen bedeutet Schreibrecht auf die Verzeichnisdatei in der die zu löschende Datei verzeichnet ist. Die Rechte der Datei sind eigentlich egal.
Hallo Rainer für die Erklärung, jetzt habe ich verstanden, warum root alles kann, ohne vorher die Rechte zu modifzieren. Und alle, die auf noexec getippt hatten, hatten natürlich recht, mein fehler war, dass ich annahm, dass "defaults" in fstab das exec-Recht einschließt. das war doch bei Suse vor 9.2-Versionen nicht der Fall?! Holger
Hallo Holger, hallo Leute, Am Freitag, 4. Februar 2005 01:41 schrieb holger poggel: [...]
Und alle, die auf noexec getippt hatten, hatten natürlich recht, mein fehler war, dass ich annahm, dass "defaults" in fstab das exec-Recht einschließt. das war doch bei Suse vor 9.2-Versionen nicht der Fall?!
Kommt drauf an [tm] ;-) An den Defaults hat sich AFAIK nichts verändert. Die vermutliche Ursache für das noexec bei Dir ist, dass die Partition mit der Option user oder users in Deiner fstab steht - dann ist noexec (und noch ein paar andere no*) wirklich default. Siehe man mount, Option "user". Gruß Christian Boltz --
Das ist wieder so ein schöner Popcorn-Thread, zu dem ich meinen Senf dazu geben will: Popcorn mit Senf....<schauder/> :-) [> Jens Nixdorf und Rainer Koenig in suse-linux]
Am Donnerstag, 3. Februar 2005 05:19 schrieb holger (at) arno-s:
hallo, vielleicht eine Verständnisfrage: was kann root daran hindern, eine Datei ausführen zu dürfen? Ich habe versucht, unter Suse 9.2 als root das OpenOffice Installationsprogram ./setup -net in der Shell auszuführen und es kommt ein lakonisches "keine Berechtigung" zurück. Das ist mir bisher eigentlich noch nie passiert. Die ausführbar-Rechte der Datei sind auf "alle" gesetzt. Ich habe den Pfad "von oben" ab kontrolliert, nirgendwo etwas ungewöhnliches. Lesen und Schreiben in dem entsprechenden Verzeichnis geht, root hat das OO-paket selbst ausgepackt.
Wie ist das überhaupt geregelt: obwohl root z.B. in einem user-home-verzeichnis keine Schreibrechte hat, ist es doch normalerweise so, dass root faktisch alles kann (ausführen, lesen, löschen) auch ohne vorher mit chmod die Rechte zu verändern?
Holger Vielleicht liegt es daran, das das setup nicht auf die Grafische Oberfläche zugreifen darf..... statt su...mal "sux" eingeben, dann hat man auch als root Zugriff auf die Oberfläche des Users... Hope it's help Axel -- http://lindlau.yezz-mobile.de
participants (6)
-
Axel Lindlau
-
Christian Boltz
-
holger (at) arno-s
-
holger poggel
-
Rainer Kulhanek
-
Ruediger Meier