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

Erteilen Sie Ausführungsberechtigungen für Verzeichnisse, aber nicht für Dateien

Um Verzeichnissen, aber nicht Dateien Ausführungs- (Such-) Berechtigungen zu erteilen, verwenden Sie:

chmod -R +X .

Um alle Berechtigungen wie in Ihrem Beispiel zuzuweisen, verwenden Sie:

chmod -R u=rwX,g=rX,o= .

-R ändert Dateien und Verzeichnisse rekursiv, während +X setzt nur Ausführen/Suchen, wenn die Datei ein Verzeichnis ist oder bereits Ausführungsrechte für einen Benutzer hat. r und w sind natürlich zum Lesen bzw. Schreiben.

Modus X (obere x ) ist sowohl in der traditionellen Handbuchseite als auch in der Info-Dokumentation dokumentiert.

Es sollte auch auf anderen Unix-ähnlichen Systemen funktionieren, z. FreeBSD, NetBSD oder OpenBSD. Zitat aus der Manpage chmod(1) von The Open Group Base Specifications Ausgabe 7, Ausgabe 2018:

Das X Perm-Symbol wurde von BSD-basierten Systemen übernommen, da es häufig gewünschte Funktionen bei rekursiven (-R Option) Änderungen. Eine ähnliche Funktionalität wird von find nicht bereitgestellt Dienstprogramm. Historische BSD-Versionen von chmod , unterstützte jedoch nur X mit op +; es wurde in diesem Band von POSIX.1-2017 erweitert, weil es auch mit op nützlich ist =. (Es wurde auch für op hinzugefügt - obwohl es x dupliziert , in diesem Fall, weil es intuitiv und einfacher zu erklären ist.)

man 1 chmod
info '(coreutils)Conditional Executability'


Wenn Sie es rekursiv machen möchten, d.h. , zu Verzeichnissen innerhalb von Verzeichnissen innerhalb von Verzeichnissen, ist der zu verwendende Befehl:

 find /path/to/starting/directory -type d -exec chmod +x {} \;

Dadurch werden alle und nur Unterverzeichnisse lokalisiert (-Typ d Flag) des Verzeichnisses /path/to/starting/directory und führt dann die erforderliche Änderung der Ausführungsberechtigung für jeden von ihnen durch. Das Leerzeichen vor \; ist obligatorisch.


Linux
  1. Vergleichen Sie Verzeichnisse, aber nicht den Inhalt von Dateien?

  2. lsof:Befehl nicht gefunden

  3. entpacken:Befehl nicht gefunden

  4. Installation vornehmen, aber nicht in die Standardverzeichnisse?

  5. Entfernen Sie nur Dateien in Verzeichnissen unter Linux, NICHT in Verzeichnissen

So ändern Sie Dateiberechtigungen rekursiv mit chmod in Linux

So ändern Sie Berechtigungen für Dateien und Verzeichnisse

Facl Ignorieren der „x“-Berechtigung, aber nur für Dateien?

Größte Dateien oder Verzeichnisse finden?

Linux Dateien und Verzeichnisse löschen

Verwenden Sie den Befehl find, aber schließen Sie Dateien in zwei Verzeichnissen aus