Entspricht die Schreibberechtigung unter Linux der Ausführungsberechtigung für Verzeichnisse?

15

Die Berechtigung "Ausführen" ist für Dateien (einschließlich Skripten usw.) sinnvoll. Bei Verzeichnissen write (w)funktioniert die Berechtigung jedoch genauso wie execute (x), oder?

Was bedeutet, wenn wir die Schreibberechtigung für ein Verzeichnis erteilen, überprüfen wir normalerweise auch "x" (für die Ausführung) für dieses Verzeichnis, richtig?

da ich bin
quelle
2
Ihre Frage ist jetzt unverständlich. Es ist nicht klar, wo Sie über die Berechtigungen für eine Datei sprechen und wo Sie über die Berechtigungen für das Verzeichnis sprechen, das sie enthält.
Gilles 'SO - hör auf böse zu sein'
1
Wenn Sie eine neue Frage haben, können Sie diese einfach separat posten ?
Michael Mrozek
1
Was meinen Sie mit "Leseberechtigung ist alles, was wir für eine Datei benötigen?" Alles was Sie brauchen für was? Eine Datei lesen? Ja. So ändern Sie eine Datei ... nein, es sei denn, Sie sind Eigentümer dieser Datei.
gabe.
Zusätzlich zum Weglassen der Operationen "kann Dateien im Verzeichnis lesen, umbenennen / löschen" ist "000: kann es nicht löschen" faktisch falsch. Wenn das Verzeichnis bereits leer ist, können Sie es löschen, wenn Sie in das übergeordnete Verzeichnis schreiben können. Wenn es nicht leer ist, können Sie es nicht löschen, bis es leer ist (es leer zu machen ist eine rekursive Operation, die alle drei Berechtigungen für es und alle nicht leeren Unterverzeichnisse erfordert)
Random832
Ihre Bearbeitung dieser Frage machte es wirklich verwirrend, herauszufinden, was gefragt wurde, und schien keinen Mehrwert für zukünftige Besucher zu schaffen. Ich bin auf das ursprüngliche einfache Frageformular zurückgekehrt, das @Gilles beantwortet hat. Wenn Sie ein neues Problem haben, können Sie eine andere Frage stellen . Bitte versuchen Sie, jede Frage auf ein Thema zu konzentrieren.
Caleb

Antworten:

48

Die Ausführungsberechtigung für Verzeichnisse ermöglicht den Zugriff auf Dateien innerhalb des Verzeichnisses. Die Leseberechtigung ermöglicht das Auflisten der Verzeichniseinträge. Die Schreibberechtigung ermöglicht das Erstellen und Entfernen von Einträgen.

Eine Lese- oder Schreibberechtigung für ein Verzeichnis ohne Ausführungsberechtigung ist nicht sinnvoll. Hin und wieder ist es nützlich, die Berechtigung "Ausführen, aber nicht lesen" zu haben: Sie können nur dann auf Dateien zugreifen, wenn Sie deren genauen Namen kennen. Dies ist eine Art primitiver Kennwortschutz.

In der Praxis sind die nützlichen Berechtigungen für ein Verzeichnis also:

  • ---: kein Zugang
  • --x: kann auf Dateien zugreifen, deren Name bekannt ist (gelegentlich nützlich)
  • r-x: normaler schreibgeschützter Zugriff
  • rwx: normaler Lese- und Schreibzugriff

Siehe auch Verzeichnis mit + x Erlaubnis, Eltern ohne Erlaubnis. Wann wäre das sinnvoll? und Sind die Berechtigungen des übergeordneten Verzeichnisses für den Zugriff auf ein Unterverzeichnis von Bedeutung?

Gilles 'SO - hör auf böse zu sein'
quelle
@ Gilles ist richtig! Nachforschungen zu diesem Thema für Linux ergeben Folgendes: 1) Wenn ein Verzeichnis keine 'x'-Berechtigung für den Benutzer hat, schlägt der Systemaufruf stat oder lstat fehl. Dies führt dazu, dass keine Metadaten der Verzeichniseinträge abgerufen werden, obwohl das Abrufen der Verzeichniseinträge (Name, Inode) möglich ist, wenn der Benutzer über die Berechtigung 'r' für das Verzeichnis verfügt. 2) Weitere Informationen finden Sie unter man 7 path_resolution unter Linux.
Kedar Mhaswade
2
w-xkann auch seinen Nutzen haben. Beispielsweise war es bei öffentlichen FTP-Sites üblich, dass ein uploadoder incoming-Ordner öffentlich beschreibbar war, aber nur von Serveradministratoren gelesen werden konnte.
Jmbpiano
Was würde rw-das r--nicht für Verzeichnisse tun? In dieser Antwort wird die Möglichkeit erwähnt, die Änderungszeit zu ändern. Auf meinem Linux-ZFS-System ist dies jedoch nicht der Fall. Ich konnte die Änderungszeit auch dann ändern, wenn sich nur mein Verzeichnis befand r--.
CMCDragonkai
@CMCDragonkai Sie haben Recht, das Ändern von Metadaten basiert auf dem Besitz, es hängt nicht mit Berechtigungen zusammen. Ich glaube nicht, dass Sie mit einem rw-Verzeichnis etwas anderes tun können als die Einträge aufzulisten (und es zu verschieben / entfernen, wenn Sie das übergeordnete Verzeichnis besitzen, für das keine Berechtigung erforderlich ist).
Gilles 'SO - hör auf böse zu sein'
@ Gilles: Das stimmt. mit rw-auf dem dir, kann ich keine neuen Dateien darin oder Änderung bestehender schaffen, auch wenn ich rw-auf die Datei , die ich zu ändern versuchen. Weder kann ich touchdie Datei. Ich bin auf Arch Linux 4.14.13.
Matthias Braun