All Products
Search
Document Center

File Storage NAS:Fitur

Last Updated:Sep 19, 2026

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:

    1. Jalankan perintah touch file untuk membuat atau mengakses file.

    2. Jalankan perintah ls -l file untuk melihat izin file tersebut.

      -rw-r--r--. 1 root root 0 May 6 14:27 file
    3. Jalankan perintah nfs4_getfacl file untuk 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 file untuk melihat pengurutan izin ACL file tersebut.

      # file: file
      A::OWNER@:rwaxtTnNcCy
      A::GROUP@:rtncy
      A::EVERYONE@:rtncy
      A::1001:rwaxtTNcCy
    • ACE izin baca/tulis ditambahkan untuk pengguna 1009, ditempatkan setelah pengguna 1001 sesuai pengurutan.

      • Jalankan perintah

        nfs4_setfacl -a A::1009:X file
        nfs4_getfacl file
      • Contoh 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 file
      • Contoh 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 file
      • Contoh 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.

    1. Asumsikan direktori saat ini dir memiliki izin: owner dapat menulis, group dapat membaca, dan everyone tidak memiliki akses.

      • Jalankan perintah

        nfs4_getfacl dir
      • Contoh output

        # file: dir
        A::OWNER@:rwaDxtTnNcCy
        A::GROUP@:rxtcy
        A::EVERYONE@:tncy
    2. Izin baca/tulis dengan pewarisan diaktifkan ditambahkan untuk pengguna 1000.

      • Jalankan perintah

        nfs4_setfacl -a A:fd:1000:rwx dir
        nfs4_getfacl dir
      • Contoh output

        # file: dir
        A::OWNER@:rwaDxtTcCy
        A::GROUP@:rxtcy
        A::EVERYONE@:tcy
        A::1000:rwx
        A:fdi:1000:rwx
    3. 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/file
        • Contoh 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/subdir
        • Contoh output

          # file: dir/subdir
          A::OWNER@:rwaDxtTcCy
          A::GROUP@:rwaDxtcy
          A::EVERYONE@:rwaDxtcy
          A:fdi:1000:rwx
    Catatan
    • Disarankan agar izin EVERYONE dibuat sekecil mungkin. Sebelum menjalankan kode terkait, jalankan terlebih dahulu umask 777 agar 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 file
    • Contoh 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 file2 menyalin ACL saat menyalin file1 ke file2. cp -ar dir1 dir2 menyalin ACL saat menyalin dir1 ke dir2.

    Catatan

    Tool rsync mungkin tidak dapat melakukan migrasi NFSv4 ACL jika versinya lebih rendah dari 3.1.2.

    • Contoh 1: Migrasi ACL file.

      1. Jalankan perintah nfs4_getfacl file1 untuk melihat izin ACL file1.

        # file: file1
        A::OWNER@:rwatTcCy
        A::GROUP@:rwatcy
        A::EVERYONE@:rwatcy
        A::1000:rtncy
      2. Jalankan perintah cp --preserve=xattr file1 file2 untuk menyalin ACL file1 ke file2.

      3. Jalankan perintah nfs4_getfacl file2 untuk melihat izin ACL file2.

        # file: file2
        A::OWNER@:rwatTcCy
        A::GROUP@:rwatcy
        A::EVERYONE@:rwatcy
        A::1000:rtncy
    • Contoh 2: Migrasi ACL direktori.

      1. Jalankan perintah nfs4_getfacl dir1 untuk melihat izin ACL direktori dir1.

        # file: dir1
        A::OWNER@:rwaDxtTnNcCy
        A::GROUP@:rxtncy
        A::EVERYONE@:rxtncy
        A::1000:rxtncy
      2. Jalankan perintah cp -ar dir1 dir2 untuk menyalin ACL dir1 ke dir2.

      3. Jalankan perintah nfs4_getfacl dir2 untuk 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 file untuk melihat izin file.

      -rw-rw-rw-. 1 root root 0 May 3 2019 file
    • Jalankan perintah nfs4_getfacl file untuk 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:

    1. Jalankan perintah chmod u+x file untuk menambahkan izin eksekusi bagi owner.

    2. Jalankan perintah ls -l file untuk melihat izin file.

      -rwxrw-rw-. 1 root root 0 May 3 2019 file
    3. Jalankan perintah nfs4_getfacl file untuk 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.

    1. Jalankan perintah nfs4_setfacl -a A::GROUP@:x file untuk menambahkan izin eksekusi bagi group.

    2. Jalankan perintah ls -l file untuk melihat izin file.

      -rwxrwxrw-. 1 root root 0 May 3 2019 file
    Catatan
    • Dalam 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.

    Catatan
    • Izin 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.

    Catatan

    Karena 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 dir0
    • Contoh 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 dir0
    • Contoh 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/file
    • Contoh 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/file
    • Contoh 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.

    Catatan

    Hindari 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.

    Catatan

    Sangat 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 myfile
    • Informasi yang dikembalikan

      # file: myfile
      # owner: root
      # group: root
      user::rw-
      user:alice:r--
      group::r--
      mask::r--
      other::rw-
  • Menjalankan perintah chmod tidak memodifikasi ACE yang tidak berbasis mode.

    Catatan

    Untuk 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 myfile
    • Informasi 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 myfile atau chmod 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 myfile
    • Informasi 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 myfile
    • Informasi 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 myfile
    • Informasi 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.

    Catatan

    Disarankan 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 file
    • Contoh 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 file2 menyalin ACL saat menyalin file1 ke file2. cp -ar dir1 dir2 menyalin ACL saat menyalin dir1 ke dir2.

    Catatan

    Tool rsync mungkin tidak dapat melakukan migrasi POSIX ACL jika versinya lebih rendah dari 3.1.2.

    • Contoh 1: Migrasi izin ACL file.

      1. Jalankan perintah getfacl file1 untuk melihat izin ACL file1.

        # file: file1
        # owner: root
        # group: root
        user::rw-
        user:player:r--
        group::r--
        mask::r--
        other::r--
      2. Jalankan perintah cp --preserve=xattr file1 file2 untuk menyalin ACL file1 ke file2.

      3. Jalankan perintah getfacl file2 untuk 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.

      1. Jalankan perintah getfacl dir1 untuk melihat izin ACL dir1.

        # file: dir1
        # owner: root
        # group: root
        user::rwx
        user:player:r-x
        group::r-x
        mask::r-x
        other::r-x
      2. Jalankan perintah cp -ar dir1 dir2 untuk menyalin ACL dir1 ke dir2.

      3. Jalankan perintah getfacl dir2 untuk 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.

    Catatan

    Hindari 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.

    Catatan

    Saat 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@:x
    • Jika 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.