GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengatur izin secara rekursif pada dir (dengan ACL diaktifkan)?

setfacl memiliki rekursif opsi (-R ) seperti chmod :

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

itu juga memungkinkan penggunaan kapital-x X izin, yang artinya:

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

jadi melakukan hal berikut seharusnya berhasil:

setfacl -R -m u:colleague:rwX .

(semua kutipan berasal dari man setfacl untuk acl-2.2.52 seperti yang dikirimkan dengan Debian)


Seperti yang disebutkan oleh umläute, perintah setfacl -R dengan huruf besar "X" adalah caranya, seperti:

setfacl -R -m u:colleague:rwX .

Namun, bagi mereka yang perlu menerapkan ulang ACL secara berulang (yaitu seperti "menerapkan kembali izin pada sub-direktori" à la Windows).

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

Perintah tersebut dapat dipisah untuk menghindari error seperti setfacl: foobar: Only directories can have default ACLs .

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/')

Perhatikan bahwa sintaks <( something ) adalah Pergantian Proses , yang khusus untuk bash. Anda mungkin perlu membuat file sementara jika menggunakan shell lain.


Linux
  1. Bagaimana Cara Mengatur Bash Untuk Menjalankan *.exe Dengan Mono?

  2. Bagaimana Cara Mengatur Tanggal Dengan Format Epoch?

  3. Bagaimana cara meneruskan ssh dengan AllowTcpForwarding diatur ke no?

  1. Cara menggunakan Ansible untuk mengatur pemantauan sistem dengan Prometheus

  2. Cara mengaudit izin dengan perintah find

  3. Operasi Tidak Didukung Dengan Setfacl?

  1. Cara Mengatur Firewall dengan Firewalld di CentOS 8

  2. Bagaimana cara mengganti karakter dengan sed secara rekursif?

  3. Bagaimana cara mengatur izin tujuan dengan rsync (chown chmod)