Topik ini menjelaskan fitur-fitur yang terkait dengan NFSv4 ACL dan POSIX ACL.
Fitur NAS NFSv4 ACL
Hanya tipe ACE Allow yang didukung. Tipe Deny, Audit, dan Alarm tidak didukung.
ACE Deny sangat meningkatkan kompleksitas pengaturan izin, yang dapat membingungkan pengguna dan menimbulkan masalah keamanan. Industri telah mencapai konsensus bahwa ACE Deny sebaiknya dihindari sebisa mungkin. Untuk detail mengapa ACE Deny tidak didukung, lihat FAQ.
ACE Audit dan ACE Alarm tidak berlaku pada NAS NFS Alibaba Cloud. Jika Anda memerlukan fitur audit dan alarm, Anda dapat mengonfigurasikannya di Konsol Alibaba Cloud.
File atau direktori yang tidak memiliki ACL yang ditetapkan akan menampilkan ACL default yang sesuai dengan mode-nya. Berikut contohnya:
Jalankan perintah
touch fileuntuk membuat atau mengakses file.Jalankan perintah
ls -l fileuntuk melihat izin file tersebut.-rw-r--r--. 1 root root 0 May 6 14:27 fileJalankan perintah
nfs4_getfacl fileuntuk melihat izin ACL saat ini dari file tersebut.# file: file A::OWNER@:rwatTnNcCy A::GROUP@:rtncy A::EVERYONE@:rtncy
ACE disusun dalam urutan tertentu dan duplikatnya dihapus, sehingga output ACL menjadi lebih jelas dan mudah dipahami.
Saat pengguna menambahkan atau memodifikasi ACE, jika ACL sudah berisi ACE dengan tipe pewarisan yang sepenuhnya memenuhi syarat, ACE baru akan digabungkan dengan bit Allow dari ACE yang sudah ada. Contohnya:
Saat pengurutan, ACE yang bersesuaian dengan owner, group, dan everyone selalu ditempatkan di awal.
Anda dapat menjalankan perintah
nfs4_getfacl fileuntuk melihat pengurutan izin ACL file tersebut.# file: file A::OWNER@:rwaxtTnNcCy A::GROUP@:rtncy A::EVERYONE@:rtncy A::1001:rwaxtTNcCyACE izin baca/tulis ditambahkan untuk pengguna 1009, ditempatkan setelah pengguna 1001 sesuai pengurutan.
Jalankan perintah
nfs4_setfacl -a A::1009:X file nfs4_getfacl fileContoh output
# file: file A::OWNER@:rwaxtTcCy A::GROUP@:rwatcy A::EVERYONE@:tcy A::1001:rwaxtTNcCy A::1009:waxtTncCy
ACE izin eksekusi ditambahkan untuk pengguna 1009. Sistem secara otomatis menggabungkan izin eksekusi baru ke dalam ACE yang sudah ada untuk pengguna 1009.
Jalankan perintah
nfs4_setfacl -a A::1009:W file nfs4_getfacl fileContoh output
# file: file A::OWNER@:rwaxtTcCy A::GROUP@:rwatcy A::EVERYONE@:tcy A::1001:rwaxtTNcCy A::1009:waxtTncCy
ACE pewarisan fd ditambahkan untuk pengguna 1009. Sistem membaginya menjadi ACE yang hanya memiliki kemampuan pewarisan dan ACE yang hanya berlaku untuk file saat ini, lalu menggabungkan kedua ACE tersebut dengan ACE lain yang memiliki tipe pewarisan sama dalam ACL.
Jalankan perintah
nfs4_setfacl -a A:fd:1009:R file nfs4_getfacl fileContoh output
# file: file A::OWNER@:rwaxtTcCy A::GROUP@:rwatcy A::EVERYONE@:tcy A::1001:rwaxtTNcCy A::1009:rwaxtTNcCy A:fdi:1009:r
Semua fitur pewarisan didukung.
Asumsikan direktori saat ini dir memiliki izin: owner dapat menulis, group dapat membaca, dan everyone tidak memiliki akses.
Jalankan perintah
nfs4_getfacl dirContoh output
# file: dir A::OWNER@:rwaDxtTnNcCy A::GROUP@:rxtcy A::EVERYONE@:tncy
Izin baca/tulis dengan pewarisan diaktifkan ditambahkan untuk pengguna 1000.
Jalankan perintah
nfs4_setfacl -a A:fd:1000:rwx dir nfs4_getfacl dirContoh output
# file: dir A::OWNER@:rwaDxtTcCy A::GROUP@:rxtcy A::EVERYONE@:tcy A::1000:rwx A:fdi:1000:rwx
File atau direktori yang dibuat di bawah direktori dir secara otomatis mewarisi ACE tersebut.
Buat file di bawah direktori dir
Jalankan perintah
touch dir/file nfs4_getfacl dir/fileContoh output
# file: dir/file A::OWNER@:rwatTcCy A::GROUP@:rwatcy A::EVERYONE@:rwatcy A::1000:rwx
Buat direktori di bawah direktori dir
Jalankan perintah
mkdir dir/subdir nfs4_getfacl dir/subdirContoh output
# file: dir/subdir A::OWNER@:rwaDxtTcCy A::GROUP@:rwaDxtcy A::EVERYONE@:rwaDxtcy A:fdi:1000:rwx
CatatanDisarankan agar izin EVERYONE dibuat sekecil mungkin. Sebelum menjalankan kode terkait, jalankan terlebih dahulu
umask 777agar mode yang diteruskan saat membuat file dan direktori menjadi 000, yang meminimalkan izin default. Untuk detailnya, lihat Mengapa umask tidak mengubah izin eksekusi pada file?.Panggilan sistem Linux untuk file dan direktori secara default meneruskan mode sebagai parameter. Menurut standar protokol RFC 7530, setelah ACL yang diwariskan diterapkan, operasi mode harus ditumpuk di atasnya untuk memodifikasi ACL. Sesuai protokol, jika mode group dimodifikasi, semua ACE group harus memiliki izin kurang dari atau sama dengan izin mode group. Hal ini dapat menyebabkan pewarisan group gagal. Misalnya: file anak awalnya seharusnya mewarisi Group A: RWX, tetapi mode default yang diteruskan adalah GROUPS: R, sehingga ACE Group A pada file anak menjadi Group A: R. Untuk menghindari masalah ini, dalam praktiknya, mode tidak akan memodifikasi ACL untuk group selain owner, group, dan everyone, sehingga semantiknya lebih sederhana. Untuk menghapus izin suatu group, Anda dapat langsung menghapus ACE yang sesuai.
Pemetaan username ke UID dan GID di beberapa mesin harus Anda kelola sendiri.
Saat ini, autentikasi NAS NFS Alibaba Cloud menggunakan grup keamanan berbasis IP dan tidak mendukung autentikasi berbasis username. ACL NFSv4 yang ditetapkan pengguna disimpan sebagai ACE dengan UID dan GID di Backend. Saat ditampilkan di klien ACL NFSv4, sistem secara otomatis memuat /etc/passwd lokal untuk mengonversi UID dan GID menjadi username dan nama group. Anda perlu mengelola pemetaan antara username dan UID serta GID di beberapa mesin agar username atau nama group yang sama dipetakan ke UID dan GID yang sama, guna mencegah kesalahan.
Mendukung output NFSv4 ACL melalui Extended Attributes.
Jalankan perintah
getfattr -n system.nfs4_acl fileContoh output
# file: file system.nfs4_acl=0sAAAABgAAAAAAAAAAABYBhwAAAAZPV05FUkAAAAAAAAAAAAAAABIAhwAAAAZHUk9VUEAAAAAAAAAAAAAAABIAhwAAAAlFVkVSWU9ORUAAAAAAAAAAAAAAAAAAAAEAAAAEMTAwMAAAAAAAAAALAAAAAwAAAAQxMDAwAAAAAAAAAEAAFgGQAAAABTEwMDAxAAAA
Mendukung migrasi NFSv4 ACL menggunakan tool seperti cp.
NAS Alibaba Cloud mendukung penggunaan tool cp, tar, dan rsync yang disebutkan dalam Cara mempertahankan NFS v4 ACL melalui extended attributes saat menyalin file untuk melakukan migrasi NFSv4 ACL.
Pada contoh berikut,
cp --preserve=xattr file1 file2menyalin ACL saat menyalin file1 ke file2.cp -ar dir1 dir2menyalin ACL saat menyalin dir1 ke dir2.CatatanTool rsync mungkin tidak dapat melakukan migrasi NFSv4 ACL jika versinya lebih rendah dari 3.1.2.
Contoh 1: Migrasi ACL file.
Jalankan perintah
nfs4_getfacl file1untuk melihat izin ACL file1.# file: file1 A::OWNER@:rwatTcCy A::GROUP@:rwatcy A::EVERYONE@:rwatcy A::1000:rtncyJalankan perintah
cp --preserve=xattr file1 file2untuk menyalin ACL file1 ke file2.Jalankan perintah
nfs4_getfacl file2untuk melihat izin ACL file2.# file: file2 A::OWNER@:rwatTcCy A::GROUP@:rwatcy A::EVERYONE@:rwatcy A::1000:rtncy
Contoh 2: Migrasi ACL direktori.
Jalankan perintah
nfs4_getfacl dir1untuk melihat izin ACL direktori dir1.# file: dir1 A::OWNER@:rwaDxtTnNcCy A::GROUP@:rxtncy A::EVERYONE@:rxtncy A::1000:rxtncyJalankan perintah
cp -ar dir1 dir2untuk menyalin ACL dir1 ke dir2.Jalankan perintah
nfs4_getfacl dir2untuk melihat izin ACL direktori dir2.# file: dir2 A::OWNER@:rwaDxtTnNcCy A::GROUP@:rxtncy A::EVERYONE@:rxtncy A::1000:rxtncy
Mendukung interoperabilitas antara NFSv4 ACL dan mode. Memodifikasi ACL dapat mengubah mode, dan sebaliknya.
Sebagai contoh, jika mode file saat ini adalah 0666, contoh izin file dan izin ACL-nya adalah sebagai berikut.
Jalankan perintah
ls -l fileuntuk melihat izin file.-rw-rw-rw-. 1 root root 0 May 3 2019 fileJalankan perintah
nfs4_getfacl fileuntuk melihat izin ACL file tersebut.# file: file A::OWNER@:rwatTcCy A::GROUP@:rwatcy A::EVERYONE@:rwatcy
Dengan mengatur mode untuk menambahkan izin eksekusi bagi owner, ACE yang bersesuaian juga mendapatkan izin eksekusi. Berikut contohnya:
Jalankan perintah
chmod u+x fileuntuk menambahkan izin eksekusi bagi owner.Jalankan perintah
ls -l fileuntuk melihat izin file.-rwxrw-rw-. 1 root root 0 May 3 2019 fileJalankan perintah
nfs4_getfacl fileuntuk memastikan izin eksekusi telah ditambahkan bagi owner.# file: file A::OWNER@:rwaxtTcCy A::GROUP@:rwatcy A::EVERYONE@:rwatcy
Dengan mengatur ACE untuk menambahkan izin eksekusi bagi group, mode yang bersesuaian juga mendapatkan izin eksekusi.
Jalankan perintah
nfs4_setfacl -a A::GROUP@:x fileuntuk menambahkan izin eksekusi bagi group.Jalankan perintah
ls -l fileuntuk melihat izin file.-rwxrwxrw-. 1 root root 0 May 3 2019 file
CatatanDalam interoperabilitas, everyone pada ACL setara dengan other pada mode UNIX. Memodifikasi other pada mode secara langsung memodifikasi ACE EVERYONE, yang sedikit berdampak pada semantik izin. Misalnya: jika mode saat ini adalah rw-------, setelah menjalankan
chmod o+r, everyone termasuk owner dan group akan mendapatkan izin baca karena ACE EVERYONE + r; sedangkan pada mode UNIX murni, owner dan group tetap tidak memiliki izin baca.Ketika NFSv4 ACL belum ditetapkan, other pada mode tetap mempertahankan semantik other. Setelah NFSv4 ACL ditetapkan, other pada mode berubah menjadi semantik everyone dan mempertahankan semantik tersebut. Sangat disarankan untuk tidak menggunakan mode setelah menggunakan NFSv4 ACL.
Korespondensi antara mode dan izin NFSv4 ACL.
Saat perintah chmod digunakan untuk mengubah mode, NFSv4 ACL berubah secara koresponden seperti yang ditunjukkan pada tabel berikut.
other
mode other
NFSv4 ACL EVERYONE pada file
NFSv4 ACL EVERYONE pada dir
---
A::EVERYONE@:tncy
A::EVERYONE@:tncy
--x
A::EVERYONE@:xtncy
A::EVERYONE@:xtncy
-w-
A::EVERYONE@:watncy
A::EVERYONE@:waDtncy
-wx
A::EVERYONE@:waxtncy
A::EVERYONE@:waDxtncy
r--
A::EVERYONE@:rtncy
A::EVERYONE@:rtncy
r-x
A::EVERYONE@:rxtncy
A::EVERYONE@:rxtncy
rw-
A::EVERYONE@:rwatncy
A::EVERYONE@:rwaDtncy
rwx
A::EVERYONE@:rwaxtncy
A::EVERYONE@:rwaDxtncy
group
mode group
NFSv4 ACL GROUP pada file
NFSv4 ACL GROUP pada dir
---
A::GROUP@:tncy
A::GROUP@:tncy
--x
A::GROUP@:xtncy
A::GROUP@:xtncy
-w-
A::GROUP@:watncy
A::GROUP@:waDtncy
-wx
A::GROUP@:waxtncy
A::GROUP@:waDxtncy
r--
A::GROUP@:rtncy
A::GROUP@:rtncy
r-x
A::GROUP@:rxtncy
A::GROUP@:rxtncy
rw-
A::GROUP@:rwatncy
A::GROUP@:rwaDtncy
rwx
A::GROUP@:rwaxtncy
A::GROUP@:rwaDxtncy
owner
mode owner
NFSv4 ACL OWNER pada file
NFSv4 ACL OWNER pada dir
---
A::OWNER@:tTnNcCy
A::OWNER@:tTnNcCy
--x
A::OWNER@:xtTnNcCy
A::OWNER@:xtTnNcCy
-w-
A::OWNER@:watTnNcCy
A::OWNER@:waDtTnNcCy
-wx
A::OWNER@:waxtTnNcCy
A::OWNER@:waDxtTnNcCy
r--
A::OWNER@:rtTnNcCy
A::OWNER@:rtTnNcCy
r-x
A::OWNER@:rxtTnNcCy
A::OWNER@:rxtTnNcCy
rw-
A::OWNER@:rwatTnNcCy
A::OWNER@:rwaDtTnNcCy
rwx
A::OWNER@:rwaxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
Saat perintah nfs4_setfacl digunakan untuk mengubah NFSv4 ACL, jika izin file sedang dimodifikasi dan atribut wa pada NFSv4 ACL tidak keduanya ada, mode tidak akan menampilkan atribut w.
Saat perintah nfs4_setfacl digunakan untuk mengubah NFSv4 ACL, jika izin direktori sedang dimodifikasi dan atribut waD pada NFSv4 ACL tidak semuanya ada, mode tidak akan menampilkan atribut w.
Jika ACL NFSv4 direktori memiliki izin Dx, mode tidak menampilkan atribut w pada saat ini, tetapi direktori tetap dapat membuat dan menghapus file anak serta direktori anak, yang setara dengan memiliki atribut wx pada mode.
Saat menggunakan nfs4_setfacl, sebaiknya atur izin menggunakan RWX huruf besar. RWX huruf besar secara otomatis dipetakan ke rwx pada mode, sehingga menghindari masalah kompatibilitas antara NFSv4 ACL dan mode.
NFSv4 ACL mendukung definisi izin yang lebih kaya daripada mode, dengan setiap bit izin memiliki fungsi berbeda. Dalam praktiknya, beberapa fungsi izin memerlukan beberapa bit izin hadir secara bersamaan agar berlaku, dan beberapa bit izin memerlukan bit izin lain untuk diekspresikan. Untuk file dan direktori, bit izin yang sama juga dapat memiliki fungsi berbeda. Untuk izin NFSv4 ACL pada file dan direktori, lihat NFSv4 ACL.
CatatanIzin minimum default untuk OWNER adalah: tTnNcCy. Izin yang lebih kecil dari ini tidak diperbolehkan.
Izin minimum default untuk GROUP dan EVERYONE adalah: tncy. Izin yang lebih kecil dari ini tidak diperbolehkan.
Mendukung interoperabilitas antara NFSv4 ACL dan POSIX ACL.
Anda dapat memasang sistem file yang berisi NFSv4 ACL menggunakan protokol NFSv3, setelah itu NFSv4 ACL dikonversi menjadi POSIX ACL. Anda juga dapat memasang sistem file yang berisi POSIX ACL menggunakan protokol NFSv4, setelah itu POSIX ACL dikonversi menjadi NFSv4 ACL.
CatatanKarena semantik POSIX ACL dan NFSv4 ACL tidak sepenuhnya identik—misalnya, pewarisan POSIX ACL tidak membedakan antara file dan direktori, serta izin POSIX ACL terbatas pada rwx sedangkan NFSv4 ACL lebih kaya—sangat disarankan untuk hanya menggunakan NFSv4 ACL atau hanya POSIX ACL, dan menghindari pencampuran keduanya sebisa mungkin.
Asumsikan dir0 telah ditetapkan dengan NFSv4 ACL, dengan izin sebagai berikut.
Jalankan perintah untuk mendapatkan izin dir0.
sudo nfs4_getfacl dir0Contoh output
A::OWNER@:tTnNcCy A::GROUP@:tncy A::EVERYONE@:tncy A:fdi:EVERYONE@:tncy A:fdi:OWNER@:tTnNcCy A:fdi:GROUP@:tncy A:g:19064:rxtncy A:g:19065:rwaDxtTnNcCy A:fdig:19064:rxtncy A:fdig:19065:rwaDxtTnNcCy
Izin dir0 untuk POSIX ACL adalah sebagai berikut.
Jalankan perintah
sudo getfacl dir0Contoh output
user::--- group::--- group:players:r-x group:adminis:rwx mask::rwx other::--- default:user::--- default:group::--- default:group:players:r-x default:group:adminis:rwx default:mask::rwx default:other::---
Asumsikan dir0/file telah ditetapkan dengan izin NFSv4 ACL sebagai berikut.
Jalankan perintah
sudo nfs4_getfacl dir0/fileContoh output
A::OWNER@:tTnNcCy A::GROUP@:tncy A::EVERYONE@:tncy A:g:19064:rxtncy A:g:19065:rwaxtTnNcCy
Izin dir0/file untuk POSIX ACL adalah sebagai berikut.
Jalankan perintah
sudo getfacl dir0/fileContoh output
user::--- group::--- group:players:r-x group:adminis:rwx mask::rwx other::---
Batas jumlah NFSv4 ACL.
Secara default, NAS Alibaba Cloud mendukung maksimal 100.000 ACL non-identik per sistem file, dan maksimal 500 ACE per ACL.
CatatanHindari penggunaan ACL dan ACE yang berlebihan untuk mengurangi waktu dan sumber daya yang dikonsumsi selama evaluasi izin.
Fitur NAS POSIX ACL
Izin other berlaku untuk semua orang.
Ini mencakup user, group, dan semua pengguna yang muncul dalam ACE, yang setara dengan everyone dalam NFSv4 ACL.
CatatanSangat disarankan untuk memberikan other hanya izin minimum dalam segala kondisi.
Sebagai contoh, file myfile memiliki ACL berikut. Meskipun ACE yang berisi alice tidak memiliki izin tulis, pengguna alice tetap memiliki izin tulis karena other memiliki izin tulis. Berikut contohnya:
Jalankan perintah
getfacl myfileInformasi yang dikembalikan
# file: myfile # owner: root # group: root user::rw- user:alice:r-- group::r-- mask::r-- other::rw-
Menjalankan perintah
chmodtidak memodifikasi ACE yang tidak berbasis mode.CatatanUntuk file yang telah ditetapkan POSIX ACL, hindari memodifikasi mode sebisa mungkin. Gunakan modifikasi ACL untuk mengatur izin.
Sebagai contoh, file myfile memiliki ACE yang memberikan group players izin baca/tulis. Berikut contohnya:
Jalankan perintah
getfacl myfileInformasi yang dikembalikan
# file: myfile # owner: root # group: root user::rw- user:player:rw- group::rw- group:players:rw- mask::rw- other::---
Setelah menjalankan
chmod g-w myfileatauchmod u-w myfile, izin user player dan group players tidak dimodifikasi. Ini berbeda dari spesifikasi POSIX ACL, tetapi memastikan bahwa modifikasi mode tidak memengaruhi izin pengguna dan group non-generik yang ditetapkan oleh POSIX ACL. Berikut contohnya:Jalankan perintah
getfacl myfileInformasi yang dikembalikan
# file: myfile # owner: root # group: root user::r-- user:player:rw- group::r-- group:players:rw- mask::rw- other::---
Jika baik group maupun other tidak memiliki izin eksekusi (x) pada file, izin eksekusi dalam ACE juga tidak berlaku.
Hal ini ditentukan oleh sistem Linux pengguna. Meskipun server NAS mengembalikan hasil allow untuk eksekusi, klien NAS mensyaratkan bahwa group atau other harus memiliki izin eksekusi agar eksekusi benar-benar diizinkan.
Sebagai contoh, jika baik group maupun other tidak memiliki izin eksekusi pada file myfile, pengguna player juga tidak dapat mengeksekusi file tersebut. Berikut contohnya:
Jalankan perintah
getfacl myfileInformasi yang dikembalikan
# file: myfile # owner: root # group: root user::rw- user:player:r-x group::r-- mask::r-x other::r--
Jika group memiliki izin eksekusi, maka pengguna player juga memiliki izin eksekusi. Berikut contohnya:
Jalankan perintah
getfacl myfileInformasi yang dikembalikan
# file: myfile # owner: root # group: root user::rw- user:player:r-x group::r-x mask::r-x other::r--
Jika ACL NFSv4 yang dapat diwariskan ditetapkan pada direktori, perilaku ini mungkin tidak sesuai dengan standar POSIX ACL di bawah NFSv3.
Hal ini karena pewarisan NFSv4 ACL dapat dibagi menjadi pewarisan file dan pewarisan direktori, sedangkan POSIX ACL mewariskan untuk file dan direktori sekaligus.
CatatanDisarankan agar Anda menghindari pencampuran NFSv4 ACL dan POSIX ACL, dan hanya menggunakan satu versi NFS untuk memasang sistem file.
Memodifikasi nilai Mask tidak didukung.
Nilai Mask pada POSIX ACL NAS dihasilkan dari gabungan izin semua pengguna dan group. Nilai ini tidak memiliki makna praktis dan tidak akan dimodifikasi.
Pemetaan username ke UID dan GID di beberapa mesin harus Anda kelola sendiri.
Saat ini, autentikasi NAS NFS Alibaba Cloud menggunakan grup keamanan berbasis IP dan tidak mendukung autentikasi berbasis username. ACL POSIX yang Anda tetapkan disimpan sebagai ACE dengan UID dan GID pengguna di Backend. Saat ditampilkan di klien ACL POSIX, sistem secara otomatis memuat /etc/passwd lokal untuk mengonversi UID dan GID menjadi username dan nama group. Anda perlu mengelola pemetaan antara username dan UID serta GID di beberapa mesin agar username atau nama group yang sama dipetakan ke UID dan GID yang sama, guna mencegah kesalahan.
Mendukung output POSIX ACL melalui Extended Attributes.
Jalankan perintah
getfattr -n system.posix_acl_access fileContoh output
# file: file system.posix_acl_access=0sAgAAAAEAAAD/////AgAFACAEAAAEAAAA/////xAABQD/////IAABAP////8=
Mendukung migrasi POSIX ACL menggunakan tool seperti cp.
NAS Alibaba Cloud mendukung penggunaan tool cp, tar, dan rsync yang disebutkan dalam Cara mempertahankan NFS v4 ACL melalui extended attributes saat menyalin file untuk melakukan migrasi POSIX ACL.
Pada contoh berikut,
cp --preserve=xattr file1 file2menyalin ACL saat menyalin file1 ke file2.cp -ar dir1 dir2menyalin ACL saat menyalin dir1 ke dir2.CatatanTool rsync mungkin tidak dapat melakukan migrasi POSIX ACL jika versinya lebih rendah dari 3.1.2.
Contoh 1: Migrasi izin ACL file.
Jalankan perintah
getfacl file1untuk melihat izin ACL file1.# file: file1 # owner: root # group: root user::rw- user:player:r-- group::r-- mask::r-- other::r--Jalankan perintah
cp --preserve=xattr file1 file2untuk menyalin ACL file1 ke file2.Jalankan perintah
getfacl file2untuk melihat izin ACL file2.# file: file2 # owner: root # group: root user::rw- user:player:r-- group::r-- mask::r-- other::r--
Contoh 2: Migrasi ACL direktori.
Jalankan perintah
getfacl dir1untuk melihat izin ACL dir1.# file: dir1 # owner: root # group: root user::rwx user:player:r-x group::r-x mask::r-x other::r-xJalankan perintah
cp -ar dir1 dir2untuk menyalin ACL dir1 ke dir2.Jalankan perintah
getfacl dir2untuk melihat izin ACL dir2.# file: dir2 # owner: root # group: root user::rwx user:player:r-x group::r-x mask::r-x other::r-x
Batas jumlah POSIX ACL.
Secara default, NAS Alibaba Cloud mendukung maksimal 100.000 ACL non-identik per sistem file, dan maksimal 500 ACE per ACL.
CatatanHindari penggunaan ACL dan ACE yang berlebihan untuk mengurangi waktu dan sumber daya yang dikonsumsi selama evaluasi izin.
FAQ
Mengapa tipe ACE Deny tidak didukung?
Posisi ACE dalam ACL bersifat menentukan.
NFSv4 ACL tidak menerapkan pengurutan ACE, dan Deny dapat ditempatkan di posisi mana pun. Misalkan ACL memiliki dua ACE (A::Alice:r dan D::Alice:r); urutan kedua ACE tersebut secara langsung menentukan apakah Alice memiliki izin baca.
CatatanSaat menetapkan ACL, Anda harus memperhatikan posisi setiap ACE.
Jumlah ACE dalam ACL meningkat pesat.
Karena tidak ada pengurutan ACE yang diberlakukan, ACE dalam daftar ACL sulit digabungkan dan dideduplikasi. Menambahkan ACE ke ACL seiring waktu dapat menyebabkan jumlahnya membengkak hingga puluhan atau ratusan ACE, sehingga memerlukan pemindaian penuh terhadap semua ACE saat mengevaluasi hasil kontrol izin, yang memakan waktu dan sumber daya.
Karena mode tidak memiliki fungsi Deny, penggunaan Deny membuat interoperabilitas antara ACL dan mode menjadi lebih kompleks.
Saat Deny ada, jika mode berubah, beberapa ACE mungkin perlu ditambahkan ke ACL. Misalnya: untuk mengubah mode menjadi -rw-rw-rw, konten berikut perlu ditambahkan secara berurutan di awal ACL.
A::OWNER@:rw D::OWNER@:x A::GROUP@:rw D::GROUP@:x A::EVERYONE@:rw D::EVERYONE@:xJika tidak ada Deny, ACE dapat diurutkan dan dideduplikasi tanpa membedakan antara everyone dan other; jika mode berubah, memodifikasi ACL juga sangat mudah—cukup temukan ACE untuk owner, group, dan everyone lalu ubah menjadi konten berikut.
A::OWNER@:rw A::GROUP@:rw A::EVERYONE@:rw
NFSv4 ACL dan POSIX ACL tidak dapat saling dikonversi.
POSIX ACL tidak mendukung Deny. Jika NFSv4 ACL berisi Deny, ACL tersebut tidak dapat dikonversi ke POSIX ACL.