Am Dienstag, 26. Juni 2001 20:20 verfasste Christian Schneider:
Hallo liebe Liste...
Das ist doch nicht normal, das ein simpler User einen von root angelegten Ordner löschen kann, oder irre ich mich so gewaltig?
Befinde mich in /home/foo und erstelle als Root das Verzeichniss test: drwx------ 2 root root 35 Jun 26 20:12 test
Ich kann mit cd als foo nicht reinwechseln, löschen geht jedoch problemlos!!?!!
Was kann ich dagegen tun?
Soweit ich weis nix. Kann es dran liegen, dass Du im Home-Verzeichnis des Users bist ? Da hat er (der User) doch alle Rechte, oder? Also ist er quasi root in ~foo. Natürlich darf er die Datei/ das Verzeichnis nicht lesen, da sie ihm ja nicht gehört. Aber das sollte er mit chown ändern können/dürfen.
Mfg, Christian
Gruss, Andreas -- Wer Bäume setzt, obwohl er weiß, dass er nie in ihrem Schatten sitzen wird, hat zumindest angefangen, den Sinn des Lebens zu begreifen. (Rabindranath Tagore, indischer Schriftsteller, Philosoph und Maler)
On 26 Jun 2001, at 21:09, Andreas Leibrock wrote:
Am Dienstag, 26. Juni 2001 20:20 verfasste Christian Schneider:
Hallo liebe Liste...
Das ist doch nicht normal, das ein simpler User einen von root angelegten Ordner löschen kann, oder irre ich mich so gewaltig?
Befinde mich in /home/foo und erstelle als Root das Verzeichniss test: drwx------ 2 root root 35 Jun 26 20:12 test
Ich kann mit cd als foo nicht reinwechseln, löschen geht jedoch problemlos!!?!!
Was kann ich dagegen tun?
Soweit ich weis nix.
Kann es dran liegen, dass Du im Home-Verzeichnis des Users bist ? Da hat er (der User) doch alle Rechte, oder? Also ist er quasi root in ~foo. Natürlich darf er die Datei/ das Verzeichnis nicht lesen, da sie ihm ja nicht gehört.
Aber das sollte er mit chown ändern können/dürfen.
Die Antwort ist teilweise richtig und leider auch teilweise falsch. a) Du kannst nix dagegen tun (solange Du nicht die Rechte am Homeverzeichnis selber änderst). b) Du bist nicht "quasi root"; das hat nix damit zu tun. Und das Du die Datei/das Verzeichnis nicht lesen kannst, hat auch nicht so direkt damit zu tun, daß sie ihm nicht gehört. (Sonst könntest Du _kein_ Programm auf Deiner Kiste ausführen; die meisten Programme werden Dir nicht gehören) Man muß sich nur vor Augen halten, bei welchen Operationen welche Rechte gebraucht werden. Dateioperationen (lesen, schreiben, ausführen): Rechte an der jeweiligen _Datei_ müssen passen. Verzeichnisoperationen (DATEI anlegen, Datei löschen, neues Vz. anlegen, ...): Rechte am Verzeichnis müssen passen. Wenn Du als User am Verzeichnis Schreibrecht hast, kannst Du im Normalfall _alle_ Objekte in diesem Verzeichnis löschen (Verzeichnisoperation); nicht zwangsläufig aber lesen (Dateioperation). Ausnahmen können Verzeichnisse mit Sticky bit (t) sein (oft z.B. /tmp), wo dann nur der Besitzer der Datei diese löschen darf. Alles weitere: man chmod Andreas
* Andreas Kyek schrieb am 27.Jun.2001:
On 26 Jun 2001, at 21:09, Andreas Leibrock wrote:
Kann es dran liegen, dass Du im Home-Verzeichnis des Users bist ? Da hat er (der User) doch alle Rechte, oder? Also ist er quasi root in ~foo. Natürlich darf er die Datei/ das Verzeichnis nicht lesen, da sie ihm ja nicht gehört.
Aber das sollte er mit chown ändern können/dürfen.
Die Antwort ist teilweise richtig und leider auch teilweise falsch.
a) Du kannst nix dagegen tun (solange Du nicht die Rechte am Homeverzeichnis selber änderst).
Bei Unterverzeichnisse reicht es, irgendwas dahinein zu setzen. Das kann man denn nicht mehr löschen, da man keine Rechte auf das Unterverzeichnis hat. Und ein User ungleich root kann keine Nichtleere Verzeichnisse löschen. (root sollte das auch nicht tun, mir ist dafür auch kein Werkzeug bekannt)
b) Du bist nicht "quasi root"; das hat nix damit zu tun. Und das Du
ACK. Bei UNIX/Linux gibt es nur den Superuser (root), den man an der UID=0 erkennt und normale User. Sonst nichts.
die Datei/das Verzeichnis nicht lesen kannst, hat auch nicht so direkt damit zu tun, daß sie ihm nicht gehört. (Sonst könntest Du _kein_ Programm auf Deiner Kiste ausführen; die meisten Programme werden Dir nicht gehören)
Auch richtig. Das hat was mit den Rechten zu tun. So kann eine Datei z.B die Rechte 077 = ---rwxrwx haben. Da darf jeder schreiben, lesen und ausführen, nur der Besitzer nicht. Der darf gar nichts. Mag zwar ein idiotisches Beispiel sein, aber diese Rechte kann man so setzen.
Man muß sich nur vor Augen halten, bei welchen Operationen welche Rechte gebraucht werden.
Dateioperationen (lesen, schreiben, ausführen): Rechte an der jeweiligen _Datei_ müssen passen.
Verzeichnisoperationen (DATEI anlegen, Datei löschen, neues Vz. anlegen, ...): Rechte am Verzeichnis müssen passen.
Wenn Du als User am Verzeichnis Schreibrecht hast, kannst Du im Normalfall _alle_ Objekte in diesem Verzeichnis löschen (Verzeichnisoperation); nicht zwangsläufig aber lesen (Dateioperation).
Ausnahmen können Verzeichnisse mit Sticky bit (t) sein (oft z.B. /tmp), wo dann nur der Besitzer der Datei diese löschen darf.
Der Besitzer des Verzeichnis darf ebenfalls löschen. Außerdem reicht es nicht Besitzer der Datei zu sein, man muß auch hier die Schreibrechte auf dem Verzeichnis haben. Datei meint hier Datei im weiteren Sinne. Es kann eine normale Datei sein, kann aber selber ein Verzeichnis sein, eine Gerätedatei, eine Pipe, ein Socket oder auch ein Symlink. Die Rechte ändern kann übrigens nur der Besitzer der Datei und der Superuser, unabhängig von den Rechten. Somit kann der Besitzer einer Datei mit den Rechten 077 oder auch 000 zuerst die Rechte ändern, und dann damit machen was er will. Um es nochmal klar zu sagen, wenn einer Besitzer einer Datei ist, so interessieren nur die Rechte für den Besitzer, nicht aber die für die Gruppe, auch nicht, wenn der Besitzer auch Gruppenmitglied ist, und auch nicht die für andere. Genauso ist es mit den Gruppenmitgliedern. Wenn einer nicht der Besitzer ist, aber Gruppenmitglied, so interessieren ausschließlich die Gruppenrechte. Es sind entweder die Besitzerrechte, oder Gruppenrechte oder die der anderen relevant. Nie mehere. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12
On Wed, Jun 27, 2001 at 08:56:27AM +0200, Bernd Brodesser wrote:
Bei Unterverzeichnisse reicht es, irgendwas dahinein zu setzen. Das kann man denn nicht mehr löschen, da man keine Rechte auf das Unterverzeichnis hat. Und ein User ungleich root kann keine Nichtleere Verzeichnisse löschen. (root sollte das auch nicht tun, mir ist dafür auch kein Werkzeug bekannt)
Doch das geht. rm -rf <Verzeichnis> dann ist das Verzeichnis wech. Hat mir schon mehrmals eine schlaflose Nacht bereitet....... Rene
* Rene Engelhard schrieb am 27.Jun.2001:
On Wed, Jun 27, 2001 at 08:56:27AM +0200, Bernd Brodesser wrote:
Bei Unterverzeichnisse reicht es, irgendwas dahinein zu setzen. Das kann man denn nicht mehr löschen, da man keine Rechte auf das Unterverzeichnis hat. Und ein User ungleich root kann keine Nichtleere Verzeichnisse löschen. (root sollte das auch nicht tun, mir ist dafür auch kein Werkzeug bekannt)
Doch das geht.
rm -rf <Verzeichnis>
dann ist das Verzeichnis wech.
Das geht nur, wenn Du die Dateien, die in dem Verzeichnis stehen löschen darfst. rm -rf löscht nämlich rekursiv. Wenn es irgendwo nicht löschen darf, so kann auch das Verzeichnis nicht gelöscht werden. Bernd -- Bitte die Etikette beachten: http://home.t-online.de/~f.walle/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
On Wed, Jun 27, 2001 at 11:37:46AM +0200, Bernd Brodesser wrote:
Das geht nur, wenn Du die Dateien, die in dem Verzeichnis stehen löschen darfst. rm -rf löscht nämlich rekursiv. Wenn es irgendwo nicht löschen darf, so kann auch das Verzeichnis nicht gelöscht werden.
Wieder was dazugelernt. Heißt das in einem Beispiel, dass wenn User X in einem Verzeichnis V, das root gehört (und alle anderen Dateien auch, außer Datei Y) rm -rf V eingibt, er dann NICHTS löscht, oder löscht er nur die Dateien, die User X löschen darf. Würde mich mal interessieren. Grüße Rene
On Mit, Jun 27, 2001 at 12:24:15 +0200, Rene Engelhard wrote: [...]
Heißt das in einem Beispiel, dass wenn User X in einem Verzeichnis V, das root gehört (und alle anderen Dateien auch, außer Datei Y) rm -rf V eingibt, er dann NICHTS löscht, oder löscht er nur die Dateien, die User X löschen darf.
Würde mich mal interessieren.
Warum probierst Du es dann nicht einfach aus? Der andere User muss ja nicht root sein, das kannst Du mit beliebigen Usern machen: user1@rechner > chmod g+w . user2@rechner > mkdir /home/user1/V user2@rechner > >/home/user1/V/X user2@rechner > >/home/user1/V/Z user2@rechner > chmod g+w /home/user1/V user1@rechner > >V/Y user2@rechner > chmod g-w /home/user1/V user1@rechner > rm -rf V Vergiss aber nach dem Aufräumen nicht, den Gruppenmitgliedern das Schreibrecht auf /home/user1 wieder zu entziehen. Jan
* Rene Engelhard schrieb am 27.Jun.2001:
On Wed, Jun 27, 2001 at 11:37:46AM +0200, Bernd Brodesser wrote:
Das geht nur, wenn Du die Dateien, die in dem Verzeichnis stehen löschen darfst. rm -rf löscht nämlich rekursiv. Wenn es irgendwo nicht löschen darf, so kann auch das Verzeichnis nicht gelöscht werden.
Wieder was dazugelernt. Heißt das in einem Beispiel, dass wenn User X in einem Verzeichnis V, das root gehört (und alle anderen Dateien auch, außer Datei Y)
Laß doch mal root weg. Es ist doch egal, wem es gehört. Die Frage ist welche Rechte er hat. Es kann root gehören, der User ist nicht root. Dann hat die Datei, oder was auch immer eine Gruppe. Gehört der User dieser Gruppe an, so werden die Gruppenrechte herangezogen. Gehört er der Gruppe nicht an, so werden dir Rechte aller verwendet. Aber auch wenn die Datei einem anderen User gehörte, so ist das Verhalten gleich. Ob root oder irgend ein anderer User ist völlig egal. Nur wenn der User der löschen will root ist, dann ist es was anderes. root darf alles. Und um es noch mal zu wiederholen. Es ist durchaus nicht so, daß der Besitzer immer höhere Rechte hat als alle anderen. Man kann es durchaus so gestalten, daß der Besitzer etwas nicht darf, was andere dürfen. Kommt selten vor, wäre aber absolut kein Probelm.
rm -rf V eingibt, er dann NICHTS löscht, oder löscht er nur die Dateien, die User X löschen darf.
Würde mich mal interessieren.
Soll ich das jetzt für Dich ausprobieren? Meinst Du solche Sachen wüßte ich mit solcher Sicherheit, das ich es nicht ausprobieren müßte? Abgesehen davon lernt man am Meisten, wenn man selber probiert. Ich habe mir für solche Sachen ein Verzeichnis test in meinem Homeverzeichnis angelegt, wo ich alles mögliche drin testen kann. Dann weiß ich später immer, das da keine wichtigen Dateien drin stehen. Bernd -- Hier ist eine Baustelle. Signatur wird überarbeitet. |Zufallssignatur 08
On Mit, Jun 27, 2001 at 08:56:27 +0200, Bernd Brodesser wrote: [...]
Bei Unterverzeichnisse reicht es, irgendwas dahinein zu setzen. Das kann man denn nicht mehr löschen, da man keine Rechte auf das Unterverzeichnis hat. Und ein User ungleich root kann keine Nichtleere Verzeichnisse löschen. (root sollte das auch nicht tun, mir ist dafür auch kein Werkzeug bekannt)
Huch? rm -r verzeichnis Das kann jeder, der die erforderlichen Rechte hat (wie Du ja - wieder mal lehrbuchmäßig ;-) schon erklärt hast). Jan
* Jan Trippler schrieb am 27.Jun.2001:
On Mit, Jun 27, 2001 at 08:56:27 +0200, Bernd Brodesser wrote:
Bei Unterverzeichnisse reicht es, irgendwas dahinein zu setzen. Das kann man denn nicht mehr löschen, da man keine Rechte auf das Unterverzeichnis hat. Und ein User ungleich root kann keine Nichtleere Verzeichnisse löschen. (root sollte das auch nicht tun, mir ist dafür auch kein Werkzeug bekannt)
Huch?
rm -r verzeichnis
Das kann jeder, der die erforderlichen Rechte hat (wie Du ja - wieder mal lehrbuchmäßig ;-) schon erklärt hast).
Ja klar, es ging ja hierbei um den Fall, daß der User auf das Unterverzeichnis keinerlei Rechte hat. Daher kann er nichts im Unterverzeichnis löschen. Wenn das Unterverzeichnis aber nicht leer ist, so kann er dies auch nicht selber löschen, obwohl er es nach den Rechten des Übergeordneten Verzeichnisses könnte. Darum ging es doch, oder? Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
participants (5)
-
Andreas Kyek
-
Andreas Leibrock
-
B.Brodesser@t-online.de
-
Jan.Trippler@t-online.de
-
Rene Engelhard