Zugrifsrechte in der Bash

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Aramir
Beiträge: 2
Registriert: 27.06.2006 13:48:14

Zugrifsrechte in der Bash

Beitrag von Aramir » 27.06.2006 14:16:25

Hallo zusammen,

mir ist da gerade was erschreckendes passiert und ich würde mich freuen wenn mir jemand von euch eine erklärung dazu liefern kann.

Ich Benutze Debian 3.1

Ich erstelle ein Verzeichnis mit dem Namen test unter /

Code: Alles auswählen

pcsus06:/# mkdir test

Das kommt dabei raus: 
pcsus06:/# ls -l |grep test
drwxr-xr-x   2 root    root   4096 Jun 27 14:00 test
Eigentlich sollte das ursprünglich sowas wie ein public Ordner werden in dem alle Leute Zugriff haben.

Also

Code: Alles auswählen

pcsus06:/# chmod 777 ./test/
pcsus06:/# ls -l |grep test
drwxrwxrwx   2 root    root   4096 Jun 27 14:00 test
Alle dürfen in das Verzeichnis schreiben. Ich wechsel also in das Verzeichnis und erstelle als User root eine Datei.

Code: Alles auswählen

pcsus06:/# cd test
pcsus06:/test# touch versuch
pcsus06:/test# ls -l
total 0
-rw-r--r--  1 root root 0 Jun 27 14:06 versuch
Nur um dann noch mal ganz sicher zu gehen das diese Datei NUR root gehört und NUR root sie verändern kann...

Code: Alles auswählen

pcsus06:/test# chmod 700 ./versuch
pcsus06:/test# ls -l
total 0
-rwx------  1 root root 0 Jun 27 14:06 versuch
Jetzt wird es dann endlich lustig. Ich wechsel nun zu einem ganz normalen User

Code: Alles auswählen

pcsus06:/test# su einkauf_l
einkauf_l@pcsus06:/test$ vi versuch
Der Vi öfnet nun die Datei und sagt mit

Code: Alles auswählen

"versuch" [Permission Denied]
So davon lass ich mich aber nicht abschrecken und drücke "i" für insert. Darauf schreibt der vi mir

Code: Alles auswählen

-- INSERT -- W10: Warning: Changing a readonly file
Ich schreibe einen Text in die Datei und schreibe nun mit Was passiert???
Das

Code: Alles auswählen

"versuch" 1L, 12C written
Nun frage ich mich Hallo?? Gehe dann wieder aus dem vi heraus und gucke mir das File noch mal an

Code: Alles auswählen

einkauf_l@pcsus06:/test$ ls -al
total 12
drwxrwxrwx   2 root      root    4096 Jun 27 14:12 .
drwxr-xr-x  23 root      root    4096 Jun 27 14:00 ..
-rwx------   1 einkauf_l einkauf   12 Jun 27 14:12 versuch
Es ist nun so das wenn ich als root etwas in die Datei geschrieben habe ich es als einkauf_l nicht lesen kann. Aber ich kann die Datei editieren UND schreiben. Dabei ändern sich nur die Eigentumsrechte. ABER die Datei die einmal root gehört hat ist weg!!!!

Kann mir das hier irgendjemand verständlich machen warum?

Lg

Ara

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 27.06.2006 14:59:38

Setz mal die Zugriffsrechte des Ordners auf 1777 (sticky bit), dann sollte es so sein, wie du es haben willst.

yeti

Beitrag von yeti » 27.06.2006 16:52:00

...oder g+s für eine gemeinsame Gruppe aller untereinander Austauschenden.

Die Erklärung, warum ein für ein Directory Schreibberechtigter eine Datei löschen darf, die ihm nicht gehört ist einfach: Er entfernt ja nur den Eintrag (Direntry) dieser Datei in der Liste, auf der er Schreibrecht hat, dem Directory.

Also im obigen Beispiel wird nämlich nicht roots Datei geändert, sondern entfernt und danach eine neue, dem Benutzer gehörende "zufällig gleichnamige" Datei angelegt.

Keine Hexerei...

In Dateien schreiben, dürfen die, denen es die Permission-Bits der Datei erlauben, aber diese/eine Datei zu löschen ist halt ein Schreibvorgang auf dem Directory und da zählen die Permission-Bits des Directories und dessen Benutzer-/Gruppen-Zugehörigkeit...

Es ginge ausführlicher, aber das Netz hat das sicher viel schönere Prosa von Leuten, die das besser als ich erklären können zu bieten. Jeder ordentliche Unix-Kurs sollte das Thema abdecken.

Aramir
Beiträge: 2
Registriert: 27.06.2006 13:48:14

Beitrag von Aramir » 28.06.2006 12:35:10

@ Snoopy

Danke für die Code Tags. War mir nicht im klaren wie ich es mache das die Inhalte so angezeigt werden. Beim nächsten mal wird es besser.

@ Spasswolf

Danke für den Tipp klappt wunderbar

@yeti

Hmm ja ist eine erklärung :-). War der Meinung das die Dateiberechtigungen greifen. Aber das wäre im Fall des löschens definitiv sinnfrei...

Hat mir auf jedenfall geholfen..

Danke an euch alle..

Lg

Ara

Antworten