Morgen zusammen, mir macht folgendes ein paar Sorgen : root legt eine Datei an ... echo "test" > test.txt ... setzt ein paar Rechte ... chmod 600 test.txt ... und jetzt kommt ein "Popel-Benutzer" daher und darf mit rm test.txt ... diese Datei (nach j/n-Abfrage) löschen ... DAS KANN ES DOCH NICHT SEIN, ODER ?!?!? confused R-? -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ Bitte lächeln! Fotogalerie online mit GMX ohne eigene Homepage!
Hi, bei chmod 600 test.txt also les und schreibbar nur fuer root... kann kein normaler Benutzer diese Datei einsehen geschweige denn loeschen! Wichtig ist natuerlich das die Datei test.txt auch dem Benutzer root gehoert! Ich vermute mal die Datei hat den Benutzer als Eigentuemer... cu Stephan
mir macht folgendes ein paar Sorgen :
root legt eine Datei an ...
echo "test" > test.txt
... setzt ein paar Rechte ...
chmod 600 test.txt
... und jetzt kommt ein "Popel-Benutzer" daher und darf mit
rm test.txt
... diese Datei (nach j/n-Abfrage) löschen ...
DAS KANN ES DOCH NICHT SEIN, ODER ?!?!?
Stephan Schulz wrote:
bei chmod 600 test.txt also les und schreibbar nur fuer root... kann kein normaler Benutzer diese Datei einsehen geschweige denn loeschen!
Wenn root die Datei anlegt und die Rechte 600 sind, dann ACK.
Wichtig ist natuerlich das die Datei test.txt auch dem Benutzer root gehoert! Ich vermute mal die Datei hat den Benutzer als Eigentuemer...
Ist nicht noetig, um sie zu loeschen. Siehe andere Mail. CU, Th. -- Thomas Hertweck, Geophysicist Geophysical Institute, Karlsruhe University (TH)
Hallo, * On Wed, Apr 16, 2003 at 09:36 AM (+0200), Stephan Schulz wrote:
bei chmod 600 test.txt also les und schreibbar nur fuer root... kann kein normaler Benutzer diese Datei einsehen geschweige
ACK!
denn loeschen!
NAK! Wenn die Datei in einem Verzeichnis liegt, in dem der normale Benutzer schreiben darf, kann er auch eine Datei löschen, die dem Benutzer "root" sowie der Gruppe "root" gehört und die Rechte "600" besitzt. Beim Löschen einer Datei oder eines Verzeichnisses spielen die Rechte, die für die zu löschende Datei oder das zu löschende Verzeichnis gesetzt sind, keine Rolle. Es interessieren lediglich Rechte und Besitzer des übergeordneten Verzeichnisses. Gruß Steffen
Wolf Ruediger Spielmann wrote:
mir macht folgendes ein paar Sorgen : root legt eine Datei an ...
echo "test" > test.txt
... setzt ein paar Rechte ...
chmod 600 test.txt
... und jetzt kommt ein "Popel-Benutzer" daher und darf mit
rm test.txt
... diese Datei (nach j/n-Abfrage) löschen ...
DAS KANN ES DOCH NICHT SEIN, ODER ?!?!?
Doch ;-) Zum Loeschen brauchst Du Rechte am Ver- zeichnis, in dem die Datei liegt. Wenn das Ver- zeichnis dem User gehoert oder er dort Schreib- rechte hat, dann kann er die Datei auch loeschen. Anzeigen oder ausfuehren etc. kann er sie bei den oben gesetzen Rechten nicht. Schau bitte mal ins Archiv der Liste. Zu Rechten an Dateien und Verzeichnissen wirst Du einiges finden, insbesondere Bernd hat sich darueber schon ausfuehrlich und sehr verstaendlich ausge- lassen. Gruesse, Thomson -- Thomas Hertweck, Geophysicist Geophysical Institute, Karlsruhe University (TH)
* On Wed, Apr 16, 2003 at 09:23 AM (+0200), Wolf Ruediger Spielmann wrote:
root legt eine Datei an ...
echo "test" > test.txt
... setzt ein paar Rechte ...
chmod 600 test.txt
... und jetzt kommt ein "Popel-Benutzer" daher und darf mit
rm test.txt
... diese Datei (nach j/n-Abfrage) löschen ...
DAS KANN ES DOCH NICHT SEIN, ODER ?!?!?
Und selbst diese "j/n-Abfrage" kannst Du bei "rm" noch mit dem Parameter "-f" abschalten. ;-) Nein, im Ernst: Der normale Benutzer hat zwar nicht das Recht, die Datei zu verändern, sie auszuführen oder sie zu lesen. Aber er darf offensicht- lich in Deinem Fall den Inhalt des Verzeichnisses, in dem ich ie Datei befindet, verändern. Das heißt konkret: er darf darin Dateien und Ver- zeichnisse anlegen, aber er darf sie auch löschen. Nun dürfte wohl klar sein, was zu tun ist: Sorge dafür, dass der normale Benutzer im betroffenen Verzeichnis keine Schreibrechte hat. Dann darf er dessen Inhalt nicht mehr ändern und damit darin auch keine Dateien mehr löschen. Gruß Steffen
From: Wolf Ruediger Spielmann [mailto:rspielmann@gmx.de]
Morgen zusammen,
mir macht folgendes ein paar Sorgen :
root legt eine Datei an ...
echo "test" > test.txt
... setzt ein paar Rechte ...
chmod 600 test.txt
... und jetzt kommt ein "Popel-Benutzer" daher und darf mit
rm test.txt
... diese Datei (nach j/n-Abfrage) löschen ...
DAS KANN ES DOCH NICHT SEIN, ODER ?!?!?
DOCH! Hi erst mal, das ging schon ein paar mal über die Liste (ein Archiv findest Du unter http://marc.theaimsgroup.com/?l=suse-linux). Das löschen einer Datei ist ein Schreibzugriff auf das Verzeichnis in dem sie liegt, nicht auf die Datei selber. Ein Schreiben in die Datei wird nicht möglich sein. Gruß Christian
* On Wed, 16 Apr 2003 at 9:23 +0200, Wolf Ruediger Spielmann wrote:
mir macht folgendes ein paar Sorgen :
root legt eine Datei an ...
echo "test" > test.txt
... setzt ein paar Rechte ...
chmod 600 test.txt
... und jetzt kommt ein "Popel-Benutzer" daher und darf mit
rm test.txt
... diese Datei (nach j/n-Abfrage) löschen ...
DAS KANN ES DOCH NICHT SEIN, ODER ?!?!?
Doch, doch. Der Benutzer hat die Datei auch ger nicht angegriffen. Für das Löschen einer Datei sind die Schreibrechte im Verzeichnis interessant, die Rechte des Files selber sind egal. Ausnahme: Wenn das Verzeichnis das t-Bit gesetzt hat (z.B. /tmp ist so gesetzt - 1777), dann ist das Verhalten anders. -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at
On Wed, Apr 16, 2003 at 09:23:44AM +0200, Wolf Ruediger Spielmann wrote:
root legt eine Datei an ... chmod 600 test.txt ... und jetzt kommt ein "Popel-Benutzer" daher und darf mit rm test.txt
Niemand hat in Unix jemals eine Datei gelöscht. In Unix löscht lediglich der Kernel selber Dateien, und zwar genau dann, wenn der Link-Count der Datei 0 ist (die Datei hat keine Namen mehr) und der Use-Count der Datei 0 ist (die Datei wird von keinem Prozeß mehr offen gehalten). Entsprechend gibt es keinen delete()-Systemaufruf, sondern nur unlink(). unlink() löscht Verzeichniseinträge, also Namen von Dateien. unlink() bearbeitet nicht die Datei, braucht also keine Rechte an der Datei, sondern nur am Verzeichnis (Du kannst unlink() anwenden auf alle Verzeichnisse, an denen Du x- und w-Rechte hast). Wenn Dich das stört (es stört die meisten Leute), dann setze an dem entsprechenden Verzeichnis das t-Bit ("chmod +t ..."). Dann gilt das oben gesagte, plus Du mußt Eigentümer der Datei oder des Verzeichnisses sein (oder root), damit Du die Datei löschen darfst. Kristian
participants (7)
-
Adalbert Michelic
-
Christian Herzyk
-
Kristian Koehntopp
-
Steffen Moser
-
Stephan Schulz
-
Thomas Hertweck
-
Wolf Ruediger Spielmann