GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum muss ein Ordner ausführbar sein?

Verzeichnisse (sie werden in *nix normalerweise nicht als Ordner bezeichnet) haben eine andere Bedeutung für die Berechtigungsbits als normale Dateien.

Bei Verzeichnissen ermöglicht Write das Erstellen neuer Dateien und das Löschen von Dateien darin.

Lesen ermöglicht es Ihnen, die darin enthaltenen Dateien aufzulisten.

Mit Execute können Sie es eingeben und auf Dateien (oder andere Verzeichnisse) darin zugreifen.


Da Sie ein Verzeichnis nicht „ausführen“ können, wurde das Ausführungsbit besser genutzt. Das Ausführungsbit eines Verzeichnisses ermöglicht Ihnen den Zugriff auf Elemente innerhalb des Verzeichnisses, selbst wenn Sie den Inhalt des Verzeichnisses nicht auflisten können.

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

Aus dem chmod Handbuchseite:

Die Buchstaben rwxXst wählen Dateimodusbits für die betroffenen Benutzer aus:lesen (r), schreiben (w), ausführen (oder nach Verzeichnissen suchen) (x) , nur ausführen/suchen, wenn die Datei ein Verzeichnis ist oder bereits Ausführungsberechtigung für einen Benutzer hat (X), Benutzer- oder Gruppen-ID bei Ausführung setzen (s), eingeschränktes Lösch-Flag oder Sticky-Bit (t).


Ausführungsberechtigungen für ein Verzeichnis erlauben es Ihnen, es zu durchlaufen, um darin enthaltene Ressourcen zu verwenden.


Linux
  1. Warum kann Rm schreibgeschützte Dateien entfernen?

  2. Warum wurde „~“ ausgewählt, um das Home-Verzeichnis darzustellen?

  3. Warum kann ich Cd nicht in einem Bash-Skript verwenden?

  4. Warum hat „/“ einen „..“-Eintrag?

  5. Warum erstellt mein symbolischer Link eine Datei und keinen Ordner?

So schützen Sie einen Ordner in cPanel mit einem Kennwort

git clone ohne Projektordner

Warum kann ich einen freigegebenen VirtualBox-Ordner nicht chownen?

Linux /-Ordner und /root-Ordner

Warum wird das Root-Verzeichnis durch ein /-Zeichen gekennzeichnet?

PSCP:Laden Sie einen ganzen Ordner hoch, Windows auf Linux