Ordnerberechtigung ändern

Ordnerberechtigung ändern

Welche Berechtigung muss ich einem Ordner zuweisen, damit jeder die Hierarchie und alle darin enthaltenen Dateien sehen kann, sie aber nicht lesen und schreiben kann? Der Ordner kann mehrere andere Ordner mit Dateien enthalten.

Antwort1

Das Auflisten von Verzeichnissen verwendet den ausführbaren Teil. Ich glaube nicht, dass das Lesen überhaupt Auswirkungen auf Verzeichnisse hat. Sie müssen Berechtigungen für jede einzelne Datei festlegen, um zu verhindern, dass sie gelesen oder beschrieben wird. Die folgenden Befehle erledigen das alles für Sie. Führen Sie sie aus dem Ordner aus, in dem dies beginnen soll:

find . -type d | xargs chmod o=rx 
find . -type f | xargs chmod o=

findsucht rekursiv nach Dateien ( -type f) und Verzeichnissen ( -type d) und druckt ihre Namen aus (sofern keine andere Aktion angegeben ist). Dies wird an weitergeleitet xargs, das seine Argumente mit den Dateien ausführt, die es aus der Pipe liest. chmodändert die Berechtigungen für andere ( o, d. h. weder Sie noch andere in der Gruppe, denen die Datei gehört) auf genau ( =) Lesen/Auflisten ( rx) für Ordner und nichts für einfache Dateien.


Wie grumbel in einem Kommentar anmerkte, funktioniert dies nur bei korrekten Namen. Um sie alle zu erhalten, verwenden Sie entweder seine Lösung:

find . -type d -print0 | xargs -0 chmod o=rx 
find . -type f -print0 | xargs -0 chmod o=

oder das integrierte Feature von find -exec:

find . -type d -exec chmod o=rx '{}' ';'
find . -type f -exec chmod o= \{\} \;

Beachten Sie, dass Sie die Klammern und das Semikolon entweder wie in der ersten Zeile in Anführungszeichen setzen oder wie in der zweiten Zeile maskieren können. Sie müssen nur in separaten Argumenten vorhanden sein. Außerdem -execwird chmod einmal für jede Datei ausgeführt, während xargs dies mit so wenigen Befehlen wie möglich tut (basierend auf der maximalen Befehlszeilenlänge). Deshalb bevorzuge ich im Allgemeinen xargs.

Antwort2

sudo chown -R username:root "/directory you want"

-Rstellt Rekursion für alle seine Unterverzeichnisse und Dateien dar.

Benutzername – aktueller Benutzer

Es ist hilfreich für Lese-/Schreib-/Ausführungsberechtigung

verwandte Informationen