CentOS 6.4
Saya mencoba untuk lebih memahami bagaimana aturan ACL sistem file diproses dan dalam urutan apa aturan ACL berlaku.
Misalnya, katakanlah pengguna bob dan joe termasuk dalam grup yang disebut penjualan. Katakanlah saya juga memiliki dokumen penjualan dengan rincian sebagai berikut:
[[email protected] ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---
Pertanyaan saya adalah, bagaimana izin diproses dalam contoh seperti ini dan hak akses apa yang diutamakan?
Apakah hanya ada pencarian top-down dan aturan apa pun yang cocok pertama adalah yang berlaku?
Atau apakah Linux memberlakukan akses berdasarkan aturan apa yang paling spesifik untuk pengguna yang bersangkutan? Atau mungkin aturan yang paling ketat dan berlaku yang diutamakan?
Jawaban yang Diterima:
Ini adalah jenis topik yang luas dan terlalu banyak untuk dibahas di sini. Saya akan merujuk Anda ke Daftar Kontrol Akses POSIX di buku putih Linux yang disusun oleh Andreas Grünbacher dari SuSE Labs. Ini melakukan pekerjaan yang cukup baik untuk menutupi subjek dan memecahnya sehingga Anda memahami cara kerja ACL.
Contoh Anda
Sekarang mari kita lihat contoh Anda dan uraikan.
- grup (penjualan)
- anggota grup penjualan (bob, joe)
Sekarang mari kita urai hak akses pada file /home/foo/docs/foo.txt
. ACL juga merangkum izin yang sama yang kebanyakan orang harus kenal di Unix, terutama Bit Pengguna, Grup, dan Lainnya. Jadi mari kita keluarkan dulu.
user:: r--
group::r--
other::---
Ini biasanya akan terlihat seperti ini dalam ls -l
:
$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt
Anda dapat melihat siapa pemilik file dan grup apa dengan baris ACL ini:
# owner: jane
# group: executives
Jadi sekarang kita masuk ke seluk beluk ACL:
user:bob:rw-
user:joe:rwx
group:sales:rwx
Ini menunjukkan bahwa pengguna bob
memiliki rw
, sedangkan pengguna joe
memiliki rwx
. Ada juga grup yang juga memiliki rwx
mirip jo. Izin ini seolah-olah kolom pengguna di ls -l
. kami output memiliki 3 pemilik (jane, bob, dan joe) serta 2 grup (eksekutif &penjualan). Tidak ada perbedaan selain mereka adalah ACL.
Terakhir mask
baris:
mask::rwx
Dalam hal ini kami tidak menutupi apa pun, itu terbuka lebar. Jadi jika pengguna bob dan joe memiliki baris berikut:
user:bob:rw-
user:joe:rwx
Maka itu adalah izin efektif mereka. Jika topengnya seperti ini:
mask::r-x
Maka izin efektif mereka akan seperti ini:
user:bob:rw- # effective:r--
user:joe:rwx # effective:r-x
Ini adalah mekanisme yang ampuh untuk membatasi izin yang diberikan secara grosir.
Terkait:Debian – Bagaimana cara menggulung konten halaman web penuh?CATATAN: Pemilik file dan izin lainnya tidak terpengaruh oleh topeng hak yang efektif; semua entri lainnya! Jadi sehubungan dengan topeng, izin ACL adalah warga negara kelas dua jika dibandingkan dengan izin Unix tradisional.
Referensi
- getfacl(1) – halaman manual Linux
- Daftar Kontrol Akses POSIX pada whitepaper Linux