2010-03-31 11:56:47 +0000 2010-03-31 11:56:47 +0000
62
62

Chmod, um Lese- und Schreibrechte für das Verzeichnis

zu erlauben, habe ich Verzeichnisse im Stammverzeichnis angelegt. Ich suche nach dem Befehl chmod, um allen Benutzern Lese- und Schreibberechtigungen für ein bestimmtes Verzeichnis zu erlauben. Ich habe chmod 775 für eine Datei getan, aber ich brauche ihn für ein Verzeichnis. Dies schließt die Berechtigungen für alle Dateien und Unterverzeichnisse ein.

Antworten (2)

34
34
34
2010-03-31 12:05:34 +0000

0775 ist selten korrekt für eine Datei. Im Folgenden werden die entsprechenden gewünschten Berechtigungen zum entsprechenden Typ hinzugefügt, ohne andere bestehende Berechtigungen zu stören:

find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Siehe man page for find , um die Entschlüsselung zu erleichtern.

15
15
15
2010-03-31 11:58:02 +0000

So funktioniert das Unix-Schutzmodell nicht, Sie können Berechtigungen nicht rekursiv setzen. Sie müssen sie für jedes Verzeichnis setzen, und zwar ganz “nach unten”

Natürlich können Sie das Setzen rekursiv durchführen, aber das bedeutet nur, “gehen Sie durch und setzen Sie diese Berechtigungen für alle Dateien und Ordner unten”, was ich nicht so verstehe, wie ich Ihre Frage verstehe.

Um das zu tun, benutzen Sie die Option -R , um chmod:

$ chmod -R 0755 /my-cool-directory