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

Wie lege ich rekursiv Berechtigungen für ein Verzeichnis fest (mit aktivierter ACL)?

setfacl hat eine rekursive Option (-R ) genauso wie chmod :

  -R, --recursive
      Apply operations to all files and directories recursively. This
      option cannot be mixed with `--restore'.

es erlaubt auch die Verwendung des großen x X Erlaubnis, was bedeutet:

  execute only if the file is a directory or already has
  execute permission for some user (X)

Folgendes sollte also funktionieren:

setfacl -R -m u:colleague:rwX .

(Alle Zitate stammen aus man setfacl für acl-2.2.52 wie mit Debian ausgeliefert)


Wie von umläute erwähnt, ist der Befehl setfacl -R mit Großbuchstaben "X" ist der Weg zu gehen, wie:

setfacl -R -m u:colleague:rwX .

Allerdings für diejenigen, die ACL rezidiv neu anwenden müssen (d.h. wie "Berechtigungen für Unterverzeichnisse erneut anwenden" à la Windows).

find . -mindepth 1 | xargs -n 50 setfacl -b --set-file=<(getfacl . | sed -e 's/x$/X/')

Dieser Befehl könnte aufgeteilt werden, um Fehler wie setfacl: foobar: Only directories can have default ACLs zu vermeiden .

find . -mindepth 1 -type d| xargs -n 50 setfacl -b --set-file=<(getfacl . | sed -e 's/x$/X/')
find . -mindepth 1 -type f| xargs -n 50 setfacl -b --set-file=<(getfacl . | grep -v '^default:' | sed -e 's/x$/X/')

Beachten Sie, dass die Syntax <( something ) ist Prozesssubstitution , das spezifisch für Bash ist. Möglicherweise müssen Sie eine temporäre Datei erstellen, wenn Sie eine andere Shell verwenden.


Linux
  1. So verwenden Sie Ansible zum Einrichten der Systemüberwachung mit Prometheus

  2. Wie kann man Bash so einstellen, dass *.exe mit Mono ausgeführt wird?

  3. Betrieb wird mit Setfacl nicht unterstützt?

  4. So richten Sie eine Firewall mit Firewalld unter CentOS 8 ein

  5. Wie kann ich die SSH-Weiterleitung mit AllowTcpForwarding auf no setzen?

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

So richten Sie eine Firewall mit GUFW unter Linux ein

So richten Sie einen Seafile-Server mit Nginx unter Ubuntu 18.04 ein

So richten Sie einen FTP-Server mit ProFTPD in Ubuntu 18.04 ein

So richten Sie einen Mailserver mit Modoboa unter Ubuntu 20.04 ein

So installieren und konfigurieren Sie WordPress mit Ansible