Pelajari setfacl Perintah Linux

Setfacl utility set Access Control Lists (ACLs) dari file dan direktori. Pada baris perintah , urutan perintah diikuti oleh urutan file (yang pada gilirannya dapat diikuti oleh urutan perintah lain, ...).

Opsi -m, dan -x mengharapkan ACL pada baris perintah. Banyak entri ACL dipisahkan oleh karakter koma (`, '). Opsi -M, dan -X membaca ACL dari file atau dari input standar. Format entri ACL dijelaskan dalam Bagian ACL ENTRIES.

Opsi -set dan --set-file mengatur ACL dari suatu file atau sebuah direktori. ACL sebelumnya diganti. Entri ACL untuk operasi ini harus menyertakan izin.

Opsi -m (--modify) dan -M (--modify-file) memodifikasi ACL dari suatu file atau direktori. Entri ACL untuk operasi ini harus menyertakan izin.

Opsi -x (--remove) dan -X (--remove-file) menghapus ACL enries. Hanya entri ACL tanpa bidang perms diterima sebagai parameter, kecuali POSIXLY_CORRECT didefinisikan.

Saat membaca dari file menggunakan opsi -M, dan -X , setfacl menerima output getfacl menghasilkan. Paling banyak ada satu entri ACL per baris. Setelah tanda Pound (`# '), semuanya hingga akhir baris diperlakukan sebagai komentar.

Jika setfacl digunakan pada sistem file yang tidak mendukung ACL, setfacl beroperasi pada bit izin mode file. Jika ACL tidak benar-benar cocok dalam bit izin, setfacl memodifikasi bit izin mode file untuk mencerminkan ACL semaksimal mungkin, menulis pesan kesalahan ke standard error, dan kembali dengan status keluar lebih besar dari 0.

RINGKASAN

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] file ...

setfacl --restore = file

IZIN

Pemilik dan proses file yang mampu CAP_FOWNER diberikan hak untuk memodifikasi ACL file. Ini analog dengan izin yang diperlukan untuk mengakses mode file. (Pada sistem Linux saat ini, root adalah satu-satunya pengguna dengan kapabilitas CAP_FOWNER.)

PILIHAN

-b, --remakan semua

Hapus semua entri ACL yang diperpanjang. Masukan ACL dasar dari pemilik, grup, dan lainnya dipertahankan.

-k, --remove-default

Hapus ACL Default. Jika tidak ada ACL Default, tidak ada peringatan yang dikeluarkan.

-n, --no-mask

Jangan menghitung ulang topeng hak yang efektif. Perilaku default dari setfacl adalah untuk menghitung ulang entri topeng ACL, kecuali entri topeng secara eksplisit diberikan. Entri topeng diatur ke penyatuan semua izin dari grup yang memiliki, dan semua entri pengguna dan grup yang bernama. (Ini adalah persis entri yang dipengaruhi oleh entri topeng).

--topeng

Lakukan perhitungan ulang topeng hak yang efektif, bahkan jika entri topeng ACL secara eksplisit diberikan. (Lihat opsi -n .)

-d, --default

Semua operasi berlaku untuk ACL Default. Entri ACL reguler dalam set input dipromosikan ke entri ACL Default. Entri ACL default dalam set input dibuang. (Peringatan dikeluarkan jika itu terjadi).

--restore = file

Mengembalikan cadangan izin yang dibuat oleh `getfacl -R 'atau yang serupa. Semua izin dari subtree direktori lengkap dipulihkan menggunakan mekanisme ini. Jika masukan berisi komentar pemilik atau komentar grup, dan setfacl dijalankan oleh root, pemilik dan pemilik grup dari semua file dipulihkan juga. Pilihan ini tidak dapat dicampur dengan opsi lain kecuali `- test '.

--uji

Mode tes. Alih-alih mengubah ACL dari file apa pun, ACL yang dihasilkan dicantumkan.

-R, - rekursif

Terapkan operasi ke semua file dan direktori secara rekursif. Opsi ini tidak dapat dicampur dengan `--restore '.

-L, --logis

Berjalan logis, ikuti tautan simbolik. Perilaku default adalah mengikuti argumen tautan simbolik, dan melewatkan tautan simbolis yang ditemui dalam subdirektori. Opsi ini tidak dapat dicampur dengan `--restore '.

-P, --fisik

Berjalan fisik, lewati semua tautan simbolik. Ini juga melompati argumen tautan simbolik. Opsi ini tidak dapat dicampur dengan `--restore '.

--versi

Cetak versi setfacl dan keluar.

--membantu

Cetak bantuan yang menjelaskan opsi baris perintah.

Akhir opsi baris perintah. Semua parameter yang tersisa diinterpretasikan sebagai nama file, bahkan jika mereka dimulai dengan tanda hubung.

Jika parameter nama file adalah satu dasbor, setfacl membaca daftar file dari input standar.

ACL ENTRIES

Alat setfacl mengenali format entri ACL berikut (kosong yang dimasukkan untuk kejelasan):

[d [efault]:] [u [ser]:] uid [: perms ]

Izin dari pengguna bernama. Izin pemilik file jika uid kosong.

[d [efault]:] g [roup]: gid [: perms ]

Izin dari grup bernama. Izin grup yang memilikinya jika gid kosong.

[d [efault]:] m [ask] [:] [: perms ]

Masker hak yang efektif

[d [efault]:] o [ther] [:] [: perms ]

Izin orang lain.

Spasi putih antara karakter pembatas dan karakter non-pembatas diabaikan.

Entri ACL yang tepat termasuk izin digunakan dalam memodifikasi dan mengatur operasi. (opsi- m , -M , --set dan --set-file ). Entri tanpa bidang izin digunakan untuk penghapusan entri (opsi -x dan -X ).

Untuk uid dan gid Anda dapat menentukan nama atau nomor.

Bidang perms adalah kombinasi karakter yang menunjukkan izin: baca (r) , tulis (w) , jalankan (x) , jalankan hanya jika file tersebut adalah direktori atau sudah memiliki izin untuk mengeksekusi sebagian pengguna (X) . Atau, bidang perms bisa berupa digit oktal (0-7).

OTOMATIS MENCIPTAKAN ENTRIES

Awalnya, file dan direktori hanya berisi tiga entri ACL dasar untuk pemilik, grup, dan lainnya. Ada beberapa aturan yang harus dipenuhi agar ACL menjadi valid:

*

Tiga entri dasar tidak dapat dihapus. Harus ada tepat satu entri dari masing-masing jenis entri dasar ini.

*

Setiap kali ACL berisi entri pengguna bernama atau objek grup bernama, itu juga harus mengandung topeng hak yang efektif.

*

Kapan saja ACL berisi semua entri ACL Default, tiga entri basis ACL Default (pemilik default, grup default, dan default lainnya) juga harus ada.

*

Setiap kali ACL Default berisi entri pengguna bernama atau objek grup bernama, itu juga harus berisi topeng hak yang efektif standar.

Untuk membantu pengguna memastikan aturan ini, setfacl membuat entri dari entri yang ada di bawah kondisi berikut:

*

Jika ACL berisi nama pengguna atau entri grup bernama, dan tidak ada entri topeng, entri topeng yang berisi izin yang sama dengan entri grup dibuat. Kecuali opsi -n diberikan, izin entri topeng selanjutnya disesuaikan untuk menyertakan penyatuan semua izin yang dipengaruhi oleh entri mask. (Lihat deskripsi -n opsi).

*

Jika entri ACL Default dibuat, dan ACL Default tidak berisi pemilik, memiliki grup, atau entri lain, salinan pemilik ACL, grup kepemilikan, atau entri lain ditambahkan ke ACL Default.

*

Jika ACL Default berisi entri pengguna bernama atau entri grup bernama, dan tidak ada entri mask, entri topeng yang berisi izin yang sama dengan entri grup default ACL default akan ditambahkan. Kecuali opsi -n diberikan, izin entri topeng selanjutnya disesuaikan untuk menyertakan penyatuan semua izin yang dipengaruhi oleh entri mask. (Lihat deskripsi -n opsi).

CONTOH

Memberikan akses baca pengguna tambahan

setfacl -mu: lisa: file r

Mencabut akses tulis dari semua grup dan semua pengguna yang disebutkan namanya (menggunakan topeng hak yang efektif)

setfacl -mm :: file rx

Menghapus entri grup bernama dari file ACL

setfacl -xg: file staf

Menyalin ACL dari satu file ke yang lain

getfacl file1 | setfacl --set-file = - file2

Menyalin ACL akses ke ACL Default

getfacl -a dir | setfacl -d -M- dir

KINERJA KE POSIX 1003.1e STANDAR DRAFT 17

Jika variabel lingkungan POSIXLY_CORRECT didefinisikan, perilaku default setfacl berubah sebagai berikut: Semua opsi non-standar dinonaktifkan. Awalan `` default: '' dinonaktifkan. Opsi -x dan -X juga menerima kolom izin (dan mengabaikannya).

LIHAT JUGA

umask (1),