So ändern Sie die Berechtigungen unter Linux

So ändern Sie die Berechtigungen unter Linux

Wie stelle ich ein, dass alle *.java-Dateien im aktuellen Verzeichnis und allen seinen Unterverzeichnissen allen Benutzern Leseberechtigung gewähren?

Ich möchte außerdem festlegen, dass alle Dateien mit einer Größe von mindestens 1 Kilobyte im aktuellen Verzeichnis und allen Unterverzeichnissen einer Administratorgruppe zugewiesen werden.

Antwort1

Alternative:Um die Leseberechtigung für alle .java-Dateien im aktuellen Verzeichnis festzulegen, verwenden Sie diesen Befehl:

chmod -R 444 *.java

Um allen Dateien mit einer Größe von mindestens 1 Kilobyte im aktuellen Verzeichnis und allen Unterverzeichnissen die Gruppe „Administrator“ zuzuweisen.

find /yourdirectorypath -size +1k -exec chgrp admin {} \;

Notiz:Das "-R" steht für rekursiv, was auch Ihre Unterverzeichnisse abdeckt

Antwort2

Wie stelle ich ein, dass alle *.java-Dateien im aktuellen Verzeichnis und allen seinen Unterverzeichnissen allen Benutzern Leseberechtigung gewähren?

In Bash ≥4.0 und Zsh:

chmod a+r ./**/*.java

Auf jedem POSIX-kompatiblen System (d. h. jeder nicht-antiken Unix-Variante und mehr):

find . -name '*.java' -exec chmod a+r {} +

Weisen Sie allen Dateien mit einer Größe von mindestens 1 Kilobyte im aktuellen Verzeichnis und allen Unterverzeichnissen die Gruppe „Administrator“ zu.

In zsh:

chgrp admin ./**/*(.L+1023)

Auf jedem POSIX-kompatiblen System:

find . -type f -size +1023c -exec chgrp admin {} +

Antwort3

Verwenden Sie find und xargs

find . -name \*.java | xargs chmod o+r

oder

find . -name \*.java -print0 | xargs -0 chmod o+r

Die zweite Version verarbeitet Leerzeichen in Datei- oder Verzeichnisnamen.

Möglicherweise müssen Sie auch die Verzeichnisberechtigungen korrigieren.

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

Sie können die Aktualisierung von Berechtigungen vermeiden, die bereits korrekt sind. Suchen Sie auf der Manpage nach Berechtigungen und lesen Sie sie durch.

Antwort4

Um die Leseberechtigung für alle .java-Dateien im aktuellen Verzeichnis festzulegen, verwenden Sie diesen Befehl

chmod +r *.java

verwandte Informationen