Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Datei Berechtigungen verstehen ?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Rossi
Gast





BeitragVerfasst am: 23. Jul 2001 15:52   Titel: Datei Berechtigungen verstehen ?

Ich habe gerade mein Verständnis für die Berechtigungen verloren.

Ich habe einen Ordner, der hat 777 (rwxrwxrwx). Die Dateien darunter haben 755 (rwxr-xr-x).

Besitzer/Gruppe ist root.

Jetzt kann ein Benutzer den gesammten Inhalt des Ordners löschen, bis auf den Ordner selber. Und das, wo er Schreibberechtigung auf den Ordner hat, aber nicht auf die darunterliegenden Dateien ?

Das heißt, für die Dateien gilt die 777 vom Ornder, und für den Ordner selber die Berechtigungen des darüberliegenden Ordners. Kann mir mal bitte jemand den Sinn erklären ?

Um die Verwirrung zu komplettieren, darf der Benutzer aber eine Datei, die z.B. 644 (rw-r--r--) hat, nicht direkt ausführen (außer mit vorangestelltem "sh" bei Shell Skripten - aber er darf löschen). Also werden die Berechtigungen doch nicht zu 100% übernommen ?!

kann mir also bitte mal jemand das Prinzip Berechtigungen (und deren Vererbung) erklären ?
 

Jochen
Gast





BeitragVerfasst am: 23. Jul 2001 20:40   Titel: Re: Datei Berechtigungen verstehen ?

Nix Vererbung, nur Konsequenz.

Allerdings muss man dazu wissen, dass unter UNIX Verzeichnisse nur eine besondere Art von Datei sind. Man kann sich so eine "Verzeichnis-Datei" als Tabelle vorstellen, in der Dateinamen zu Inode-Nummern zugeordnet werden. Der Name einer Datei gehört also nicht zu deren Eigenschaften wie Eigentümer, Zugriffsrechte, Zeitstempel usw. - die werden in der Inode gespeichert, aber nicht der Dateiname! Das ist auch der Grund dafür, dass man mittels Hard Links (man ln) über mehrere unterschiedliche Namen auf ein und dieselbe Datei zugreifen kann. In der Inode wird lediglich ein Link Counter mitgeführt, der angibt, wie viele male aus irgendwelchen Verzeichnissen auf diese Inode verwiesen wird.

So weit, so gut.

Eine Datei zu löschen ist nun also nix anderes, als aus dem Verzeichnis den entsprechenden "Tabelleneintrag" rauszuschmeissen. Was muss man haben, um den Inhalt einer Datei (und damit auch eines Verzeichnisses) ändern zu können? Richtig, Schreibrecht. Folgerung: Jeder User, der Schreibrecht auf ein Verzeichnis hat, darf dort sämtliche Dateien löschen. Er darf ggf. nicht deren Inhalt verändern (das ist ja von den Zugriffsrechten der Datei abhängig), aber löschen darf er sie. Weiterhin erlaubt Schreibrecht in einem Verzeichnis, dass der User dort auch neue Dateien anlegen darf - er setzt einfach einen weiteren Tabelleneintrag in das Verzeichnis.

Auch der umgekehrte Fall ist möglich: Ein User hat kein Schreibrecht auf das Verzeichnis, dann kann er dort keine Dateien anlegen oder löschen. Hat er aber Schreibrechte auf eine Datei in diesem Verzeichnis, darf er deren Inhalt ändern (auch auf Länge 0 setzen).

Mit den anderen Rechten hat das nix zu tun.

Noch mal kurz augelistet:

  • Leserecht auf Verzeichnis: Lesen der enthalten Dateinamen ist erlaubt, d.h. "ls verzeichnis" funktioniert.
  • Schreibrecht auf Verzeichnis: Dateien im Verzeichnis dürfen gelöscht oder neu angelegt werden.
  • Ausführrecht auf Verzeichnis: Man darf es betreten, d.h. "cd verzeichnis" funktioniert.

    OK?

    Jochen
  •  

    Beiträge vom vorherigen Thema anzeigen:   
         Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
    Seite 1 von 1

     
    Gehen Sie zu:  

    Powered by phpBB © phpBB Group
    pro_linux Theme © 2004 by Mandaxy