Wie ändere ich die Berechtigungen für ein Verzeichnis?

9

Ich verwende CentOS und möchte wissen, wie Sie die Berechtigungen für einen Ordner mit mehreren Dateien ändern können.

Ich habe die folgenden Befehle für den Ordner als root verwendet (sagen wir Ordner = A):

chmod 777 (home / Verzeichnis / A)

chmod g + r (A)

Wenn ich den Ordner mit dem Dateimanager als normalen Benutzer ansehe, ist das Schlosssymbol nicht sichtbar, was darauf hinweist, dass die Berechtigungen erteilt wurden. Alle Dateien in Ordner A zeigen jedoch weiterhin ein Schlosssymbol an, das angibt, dass nur Ordner A die Berechtigung erteilt wurde und keines der darin enthaltenen Unterverzeichnisse.

Es wird sich als ziemlich mühsam erweisen, die oben genannten Befehle in allen Unterverzeichnissen auszuführen, da es einfach zu viele gibt.

Vielen Dank!

Linux NewB
quelle

Antworten:

15

Um Berechtigungen für den Ordner und alle Unterordner / Dateien festzulegen, müssen Sie die rekursive Option in Ihrem Befehl verwenden:

chmod 777 -R /path/to/directory

Weitere Informationen zur Verwendung von chmod finden Sie hier .

AKTUALISIEREN:

Haftungsausschluss: Wenn Sie chmod 777 verwenden, kann Ihr Ordner von allen ausführbar sein. Unten finden Sie einen Blick auf die Einstellung

Ihre Berechtigungen werden mit drei Zahlen festgelegt.

Die 100er sind für den Besitzer der Datei
400 Lesen
200 Schreiben
100 Ausführen

10 sind für die Gruppe der Datei
40 lesen
20 schreiben
10 ausführen

Einsen sind für alle anderen
4 Lesen
2 Schreiben
1 Ausführen

In Ihrem Beispiel gewähren Sie dem Eigentümer, der Gruppe und allen Benutzern die vollen Rechte an Ihrer Datei. Wenn Sie beispielsweise Eigentümer und Gruppe vollständige Berechtigungen erteilen möchten, alle anderen jedoch nur Berechtigungen lesen und ausführen, würden Sie 775 verwenden.

Wenn Sie anstelle von Zahlen eine Buchstabendarstellung verwenden möchten, lesen Sie bitte hier

Matthew Williams
quelle
Vielen Dank! Matthew für die Lösung des Problems und für die Bereitstellung eines informativen Links, der gerade mit einem Lesezeichen versehen wurde :-)
Linux NewB
Wenn Sie dies nützlich fanden, markieren Sie es bitte als Antwort.
Gaurav Joseph
Werden dadurch nicht alle Dateien im Ordner ausführbar?
Stib
Ja, das wird es, aber aus seiner Frage geht hervor, dass er das will. Der Link, den ich bereitgestellt habe, hilft ihm bei seinen Berechtigungen. Da Sie es erwähnen, werde ich meine Antwort aktualisieren, um einen Blick darauf zu werfen.
Matthew Williams
1

Sie können chmod verwenden, um die Berechtigungsbits zu ändern. Die Option -R ist rekursiv - wird für Verzeichnisse verwendet. Die Bits werden als rwx erklärt, dh lesen, schreiben und ausführbar. Wenn r = 1 ist, ist w = 1 und x = 1. Die Binärzahl 111 bedeutet 7 in Dezimalzahl. Sie sehen also 7. Nun werden die Felder als u = Benutzer, Gruppe und andere festgelegt. Wenn Sie also allen die Erlaubnis geben möchten, tun Sie chmod -R 777 dir_name. Sie können auch chmod -R a + rwx dir sagen oder wenn Sie eine Berechtigung entfernen möchten, können Sie sagen, dass chmod -R ax dir - dies dient zum Entfernen der ausführbaren Berechtigung.

Sie können auch Mann auf chmod tun, um mehr Details zu erfahren.

geschickt
quelle