[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] dateirechte im detail



Hallo Gerhard,

* Gerhard Oettl schrieb am 13.Nov.2000:

> also "normale" datein sind ja relativ klar (rwx mit user, group und 
> other), getuid und setgid bit auch noch, etwas schwieriger wird 
> schom beim sticky-bit (da habe ich unterschiedlichste 
> interpretationen gelesen).

Das sticky-bit hatte bei UNIX ursprünglich eine völlig andere
Funktion, darauf gehe ich nicht ein. Bei Linux hat es nur eine Sinn
bei Verzeichnisse. 

Um eine Datei zu löschen muß man keine Schreibrechte für diese Datei
haben, man muß die Schreibrechte für das Verzeichnis haben, denn das
Löschen einer Datei ist eine Veränderung des Verzeichnisses und nicht
der Datei. Hat man die Schreibrechte auf das Verzeichnis, nicht aber
auf die Datei, so fragt rm ohne Option noch mal nach. Mit der Option
-i fragt rm immer nach, mit der Option -f nie.

Wie dem auch sei, man kann eine Datei löschen auf der man keine
Schreibrechte hat. Ist in dem Verzeichnis nun das Sticky-Bit gesetzt,
so kann nur der Besitzer der Datei und der Besitzer des Verzeichnisses
die Datei löschen. Voraussetzung jeweils, daß auch das Schreibrecht
auf dem Verzeichnis vorhanden ist.

Der Superuser (root) hat natürlich immer alle Rechte.

> aber bei verzeichnissen wirds schon schwieriger. Gibts sowas wie 
> umask bei verzeichnissen? bzw kann eine verzeichnis-maske auf 
> unterverzeichnisse "vererbt" werden?

Verzeichnisse haben die gleiche umask wie Dateien. Normalerweise ist
das 022, daß heißt das Verzeichnisse die Rechte 755 bekommt. Eine
ausführbare Datei, die z.B durch gcc erzeugt wird, erhält ebenfalls
die Rechte 755. Eine normale Datei, die man z.B einen Editor anlegt
erhält die Rechte 644, denn sie bekommt keine Ausführrechte.

Würdest Du die umask auf 002 setzen, so würde normale Dateien die
Rechte 664 und Verzeichnisse sowie ausführbare Datei die Rechte 775
bekommen. Es gilt: 755 + 022 = 777 sowie 775 + 002 = 777

Jeweils oktal gerechnet, obwohl es hierbei egal ist.

> braucht man für ein recht auf die datei bzw verzeichnis auch das 
> gleiche recht in allen übergeordneten verzeichnissen, die im pfad 
> für diese datei stehen? (z.b. um die datei 
> /homes/ich/verzeichnis/unterverzeichnis/text zu lesen: muss ich 
> dann auch leserechte in /homes und /homes/ich und 
> /homes/ich/verzeichnis und 
> /homes/ich/verzeichnis/unterverzeichnis haben?

Nein nicht das Leserecht, wohl aber das Ausführungsrecht. Das
Ausführungsrecht brauchst Du für alle Verzeichnisse des Pfades. Hast
Du im obigen Beispiel auf dem Verzeichnis /homes/ich keine
Ausführrechte, so kanst Du auf die Datei
/homes/ich/verzeichnis/unterverzeichnis/text nicht zugreifen. Weder
lesend, noch schreibend, noch ausführend, wenn es eine ausführbare
Datei wäre. Du kanst rein gar nichts damit machen.

Wenn das Leserecht eines Verzeichnisses fehlt, so heißt das lediglich,
daß Du dies Verzeichnis nicht lesen kanst, sonst nichts. Würdest Du
z.B auf /homes/ich kein Leserecht haben, so scheitert ein ls
/homes/ich aber schon ein ls /homes/ich/verzeichnis funktioniert
wieder, vorausgesetzt Du hast auf dieses Verzeichnis das Leserecht.

> also im groben alles klar im detail alles unklar....

Vieles kann man auch durch ausprobieren herausbekommen. ;))

Bernd

---------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Body
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
---------------------------------------------------------

717 eingetragene Mitglieder in dieser Liste.


Reply to: