全部产品
Search
文档中心

File Storage NAS:Fitur

更新时间:Jun 28, 2025

Topik ini menjelaskan fitur-fitur dari daftar kontrol akses (ACL) NFSv4 dan ACL POSIX.

Fitur-fitur NFSv4 ACL

  • Hanya entri kontrol akses (ACE) tipe allow yang didukung. ACE Deny, audit, dan alarm tidak didukung.

    ACE Deny meningkatkan kompleksitas kontrol akses. Dalam banyak kasus, kompleksitas mengarah pada kebingungan dan meningkatkan risiko keamanan potensial. Kami menyarankan Anda untuk tidak menggunakan ACE deny. Untuk informasi lebih lanjut tentang mengapa ACE deny tidak direkomendasikan, lihat FAQ.

    ACE Audit dan alarm tidak tersedia untuk sistem file Network File System (NFS). Namun, Anda dapat mengaudit sistem file dan mengonfigurasi peringatan berdasarkan hasil audit di konsol NAS.

  • Jika tidak ada ACL yang ditetapkan untuk file atau direktori, ACL default yang sesuai dengan mask pembuatan mode file yang telah ditentukan sebelumnya (umask) akan diterapkan. Contoh:

    1. Jalankan perintah touch file untuk masuk ke file.

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

      -rw-r--r--. 1 root root 0 Mei 6 14:27 file
    3. Jalankan perintah nfs4_getfacl file untuk melihat izin ACL saat ini pada file.

      # file: file
      A::OWNER@:rwatTnNcCy
      A::GROUP@:rtncy
      A::EVERYONE@:rtncy
  • ACL adalah daftar terurut yang berisi dan menghapus duplikat ACE. Skema ini memastikan bahwa izin yang didefinisikan dalam ACL jelas dan informatif.

    Jika Anda menerapkan baik ACE baru maupun ACE yang sudah ada pada objek yang sama dan ACE yang sudah ada diwarisi dari objek induk, izin dari ACE baru akan menimpa izin dari ACE yang sudah ada. Contoh:

    • ACE yang mencakup prinsipal OWNER, GROUP, dan EVERYONE diurutkan dalam urutan ini di awal ACL. ACE ini memiliki prioritas lebih tinggi daripada ACE lainnya.

      Jalankan perintah nfs4_getfacl file untuk melihat izin ACL pada file secara berurutan.

      # file: file
      A::OWNER@:rwaxtTnNcCy
      A::GROUP@:rtncy
      A::EVERYONE@:rtncy
      A::1001:rwaxtTNcCy
    • Tambahkan ACE dengan izin baca dan tulis ke ACL berikut untuk prinsipal pengguna bernama 1009. ACE tersebut ditempatkan setelah ACE yang didefinisikan untuk prinsipal pengguna bernama 1001 berdasarkan urutan yang telah ditentukan sebelumnya.

      • Jalankan perintah berikut:

        nfs4_setfacl -a A::1009:X file
        nfs4_getfacl file
      • Contoh keluaran perintah:

        # file: file
        A::OWNER@:rwaxtTcCy
        A::GROUP@:rwatcy
        A::EVERYONE@:tcy
        A::1001:rwaxtTNcCy
        A::1009:waxtTncCy
    • Tambahkan ACE baru yang mencakup izin eksekusi ke ACL untuk prinsipal pengguna bernama 1009. Sistem secara otomatis menggabungkan izin eksekusi ke ACE yang sudah ada untuk prinsipal pengguna 1009.

      • Jalankan perintah berikut:

        nfs4_setfacl -a A::1009:W file
        nfs4_getfacl file
      • Contoh keluaran perintah:

        # file: file
        A::OWNER@:rwaxtTcCy
        A::GROUP@:rwatcy
        A::EVERYONE@:tcy
        A::1001:rwaxtTNcCy
        A::1009:waxtTncCy
    • Tambahkan flag warisan f dan d ke ACE yang mencakup prinsipal pengguna bernama 1009. Kemudian, sistem membagi ACE menjadi dua ACE. Salah satu ACE memiliki flag warisan tambahan bernama i, yang menunjukkan ACE hanya-warisan. ACE lainnya berlaku hanya untuk objek file yang tidak memiliki flag warisan. Jika jenis warisan dari ACE yang sudah ada cocok dengan salah satu dari dua ACE tersebut, sistem menggabungkan ACE yang sudah ada dengan ACE ini menjadi satu ACE.

      • Jalankan perintah berikut:

        nfs4_setfacl -a A:fd:1009:R file
        nfs4_getfacl file
      • Contoh keluaran perintah:

        # file: file
        A::OWNER@:rwaxtTcCy
        A::GROUP@:rwatcy
        A::EVERYONE@:tcy
        A::1001:rwaxtTNcCy
        A::1009:rwaxtTNcCy
        A:fdi:1009:r
  • Semua ACE dapat diwariskan.

    1. Sebagai contoh, prinsipal OWNER memiliki izin tulis, prinsipal GROUP memiliki izin baca, dan prinsipal EVERYONE tidak memiliki izin pada direktori dir.

      • Jalankan perintah berikut:

        nfs4_getfacl dir
      • Contoh keluaran perintah:

        # file: dir
        A::OWNER@:rwaDxtTnNcCy
        A::GROUP@:rxtcy
        A::EVERYONE@:tncy
    2. Tambahkan ACE yang memberikan izin baca, tulis, dan eksekusi kepada prinsipal pengguna bernama 1000 pada direktori dir. Flag warisan f dan d juga ditentukan untuk ACE tersebut.

      • Jalankan perintah berikut:

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

        # file: dir
        A::OWNER@:rwaDxtTcCy
        A::GROUP@:rxtcy
        A::EVERYONE@:tcy
        A::1000:rwx
        A:fdi:1000:rwx
    3. Ketika Anda membuat file atau subdirektori di direktori dir, file atau subdirektori tersebut secara otomatis mewarisi semua ACE dari direktori dir.

      • Buat file di direktori dir

        • Jalankan perintah berikut:

          touch dir/file
          nfs4_getfacl dir/file
        • Contoh keluaran perintah:

          # file: dir/file
          A::OWNER@:rwatTcCy
          A::GROUP@:rwatcy
          A::EVERYONE@:rwatcy
          A::1000:rwx
      • Buat subdirektori di direktori dir

        • Jalankan perintah berikut:

          mkdir dir/subdir
          nfs4_getfacl dir/subdir
        • Contoh keluaran perintah:

          # file: dir/subdir
          A::OWNER@:rwaDxtTcCy
          A::GROUP@:rwaDxtcy
          A::EVERYONE@:rwaDxtcy
          A:fdi:1000:rwx
    Catatan
    • Kami menyarankan Anda untuk memberikan hak istimewa minimal kepada prinsipal EVERYONE. Sebelum menjalankan salah satu perintah di atas, kami menyarankan Anda untuk menjalankan perintah umask 777. Perintah ini memastikan bahwa tidak ada akses ke file atau direktori yang diberikan ketika file atau direktori dibuat. Untuk informasi lebih lanjut, lihat Mengapa umask tidak mengubah izin eksekusi pada file?.

    • Ketika Linux memanggil fungsi untuk membuat file atau direktori, umask yang telah ditentukan sebelumnya digunakan sebagai parameter permintaan. Anda dapat memperoleh ACL akhir untuk objek anak dari tumpang tindih ACL yang diwariskan (induk ke anak) dan umask, seperti yang ditentukan dalam standar RFC 7530. Ketika Anda memodifikasi bit grup dari umask berdasarkan standar, izin yang termasuk dalam ACL untuk setiap grup harus kurang dari atau sama dengan izin yang didefinisikan dalam bit grup. Namun, ini menghasilkan warisan yang tidak valid untuk grup. Sebagai contoh, jika Anda ingin subfile mewarisi Group A:RWX tetapi umask GROUPS:R yang telah ditentukan sebelumnya digunakan sebagai parameter permintaan, maka ACE yang termasuk dalam ACL Group A diubah menjadi Group A: R. Dalam skenario bisnis aktual, kami menyarankan Anda untuk hanya memodifikasi umask untuk ACL yang mencakup prinsipal berikut: OWNER, GROUP, dan EVERYONE. Ini mencegah masalah potensial dan memastikan bahwa semantiknya jelas. Untuk menghapus izin dari grup, kami menyarankan Anda untuk menghapus ACE yang terkait dengan grup.

  • Anda harus mengelola pemetaan antara nama pengguna atau nama grup dan ID pengguna (UID) atau ID grup (GID) di beberapa instance independen.

    File Storage NAS NFS menggunakan grup keamanan IP alih-alih nama pengguna untuk mengotentikasi pengguna. Saat Anda mengonfigurasi ACL NFSv4, UID atau GID yang termasuk dalam ACE disimpan di Linux. Saat Anda mencetak ACL untuk objek di shell, Linux secara otomatis memuat file /etc/passwd dan mengonversi UID atau GID menjadi nama pengguna atau nama grup. Anda perlu mengelola pemetaan antara nama pengguna atau nama grup dan UID atau GID di beberapa instance. Anda harus memastikan bahwa setiap nama pengguna dipetakan ke UID yang sesuai, dan setiap nama grup dipetakan ke GID yang sesuai.

  • Anda dapat mencetak ACL NFSv4 menggunakan atribut yang diperluas.

    • Jalankan perintah berikut:

      getfattr -n system.nfs4_acl file
    • Contoh keluaran perintah:

      # file: file
      system.nfs4_acl=0sAAAABgAAAAAAAAAAABYBhwAAAAZPV05FUkAAAAAAAAAAAAAAABIAhwAAAAZHUk9VUEAAAAAAAAAAAAAAABIAhwAAAAlFVkVSWU9ORUAAAAAAAAAAAAAAAAAAAAEAAAAEMTAwMAAAAAAAAAALAAAAAwAAAAQxMDAwAAAAAAAAAEAAFgGQAAAABTEwMDAxAAAA
  • Anda dapat menggunakan alat seperti cp untuk memigrasi ACL NFSv4.

    NAS memungkinkan Anda memigrasi ACL NFSv4 menggunakan alat cp, tar, dan rsync. Untuk informasi lebih lanjut, lihat Cara melestarikan NFS v4 ACL melalui atribut yang diperluas saat menyalin file.

    Perintah cp --preserve=xattr file1 file2 berikut menyalin ACL file1 saat menyalin file1 ke file2. Perintah cp -ar dir1 dir2 menyalin ACL dir1 saat menyalin dir1 ke dir2.

    Catatan

    ACL NFSv4 mungkin gagal dimigrasi jika versi alat rsync lebih awal dari 3.1.2.

    • Contoh 1: Migrasikan ACL file.

      1. Jalankan perintah nfs4_getfacl file1 untuk melihat izin ACL pada 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 pada file2.

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

      1. Jalankan perintah nfs4_getfacl dir1 untuk melihat izin ACL pada 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 pada dir2.

        # file: dir2
        A::OWNER@:rwaDxtTnNcCy
        A::GROUP@:rxtncy
        A::EVERYONE@:rxtncy
        A::1000:rxtncy
  • ACL NFSv4 dapat berinteraksi dengan umask. Jika Anda memodifikasi ACL suatu objek, umask objek tersebut berubah. Jika Anda memodifikasi umask suatu objek, ACL objek tersebut juga berubah.

    Sebagai contoh, jika umask objek file adalah 0666, Anda dapat menjalankan perintah berikut untuk melihat izin file dan izin ACL.

    • Jalankan perintah ls -l file untuk melihat izin pada file.

      -rw-rw-rw-. 1 root root 0 Mei 3 2019 file
    • Jalankan perintah nfs4_getfacl file untuk melihat izin ACL pada file.

      # file: file
      A::OWNER@:rwatTcCy
      A::GROUP@:rwatcy
      A::EVERYONE@:rwatcy

    Jika Anda menambahkan izin eksekusi ke umask dengan memodifikasi bit pemilik, izin eksekusi juga ditambahkan ke ACE yang mencakup prinsipal OWNER. Contoh:

    1. Jalankan perintah chmod u+x file untuk memberikan izin eksekusi kepada prinsipal OWNER.

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

      -rwxrw-rw-. 1 root root 0 Mei 3 2019 file
    3. Jalankan perintah nfs4_getfacl file untuk memverifikasi bahwa izin eksekusi diberikan kepada prinsipal OWNER.

      # file: file
      A::OWNER@:rwaxtTcCy
      A::GROUP@:rwatcy
      A::EVERYONE@:rwatcy

    Jika Anda menambahkan izin eksekusi ke ACE yang mencakup prinsipal GROUP, izin eksekusi juga ditambahkan ke umask.

    1. Jalankan perintah nfs4_setfacl -a A::GROUP@:x file untuk memberikan izin eksekusi kepada prinsipal GROUP.

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

      -rwxrwxrw-. 1 root root 0 Mei 3 2019 file
    Catatan
    • Dalam interaksi antara ACL dan umask, prinsipal EVERYONE setara dengan kelas lainnya. Ketika Anda memodifikasi kelas lainnya, perubahan tersebut juga berlaku untuk prinsipal EVERYONE. Operasi ini memiliki dampak kecil pada semantik izin. Sebagai contoh, umask saat ini adalah rw-------. Setelah Anda menjalankan perintah chmod o+r, semua pengguna yang mencakup pemilik file dan anggota grup memiliki izin baca. Hal ini karena izin baca ditambahkan ke ACE yang mencakup prinsipal EVERYONE. Jika tidak ada perubahan yang diterapkan pada umask default, kelas pemilik dan grup masih tidak memiliki izin baca setelah Anda menjalankan perintah chmod o+r.

    • Jika tidak ada perubahan yang diterapkan pada ACL NFSv4, semantik kelas lain dari mode file tetap tidak berubah. Jika Anda memodifikasi ACL NFSv4, semantik kelas lain berubah menjadi semantik prinsipal EVERYONE dan semantik terbaru tetap tidak berubah. Kami menyarankan Anda untuk tidak menggunakan umask bersama dengan ACL NFSv4.

  • Hubungan antara umask dan NFSv4 ACE.

    • Jika Anda menjalankan perintah chmod untuk memodifikasi umask, perubahan diterapkan ke ACL NFSv4. Tabel berikut menjelaskan perubahan tersebut.

      other

      mode other

      NFSv4 ACL EVERYONE pada file

      NFSv4 ACL EVERYONE on 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

    • Jika Anda menjalankan perintah nfs4_setfacl untuk hanya memodifikasi izin file yang termasuk dalam ACL NFSv4, dan izin wa tidak diterapkan ke semua file, izin w tidak ditampilkan dalam umask.

    • Jika Anda menjalankan perintah nfs4_setfacl untuk hanya memodifikasi izin direktori yang termasuk dalam ACL NFSv4, dan izin waD tidak diterapkan ke semua direktori, izin tulis tidak ditampilkan dalam umask.

    • Jika izin Dx termasuk dalam ACL NFSv4 untuk direktori, izin w tidak ditampilkan dalam umask. Jika subfile dan subdirektori dapat dibuat di direktori tersebut, izin w dan x masih termasuk dalam umask.

    • Kami menyarankan Anda menentukan RWX dalam huruf besar saat menetapkan izin dengan menjalankan perintah nfs4_setfacl. RWX dalam huruf besar secara otomatis dipetakan ke rwx dalam umask. Ini dapat mencegah masalah kompatibilitas antara ACL NFSv4 dan umask.

    ACL NFSv4 memiliki lebih banyak set izin daripada umask. Setiap bit izin memenuhi fungsi unik. Beberapa izin tidak dapat berlaku sendiri kecuali digabungkan dengan izin lainnya. Selain itu, fungsionalitas beberapa bit izin harus dinyatakan oleh bit izin lainnya. Bit izin yang sama untuk file dan direktori yang berbeda mungkin memiliki fungsionalitas yang berbeda. Untuk informasi lebih lanjut tentang ACL NFSv4 untuk file dan direktori, lihat NFSv4 ACL.

    Catatan
    • Hak istimewa minimal default untuk prinsipal OWNER adalah tTnNcCy.

    • Hak istimewa minimal default untuk prinsipal GROUP dan EVERYONE adalah tncy.

  • Interaksi antara ACL NFSv4 dan POSIX ACL didukung.

    Anda dapat memasang sistem file NFSv3 yang memiliki ACL NFSv4. ACL NFSv4 ini kemudian dikonversi menjadi POSIX ACL. Anda juga dapat memasang sistem file NFSv4 yang memiliki POSIX ACL. POSIX ACL ini kemudian dikonversi menjadi ACL NFSv4.

    Catatan

    Semantik POSIX ACL berbeda dari semantik ACL NFSv4. Sebagai contoh, aturan warisan yang berlaku untuk POSIX ACL tidak membedakan file atau direktori. ACL NFSv4 memiliki lebih banyak izin daripada POSIX ACL. POSIX ACL hanya memiliki izin baca, tulis, dan eksekusi. Untuk mencegah masalah potensial, kami menyarankan Anda menggunakan ACL NFSv4 atau POSIX ACL.

    Jika Anda mengonfigurasi ACL NFSv4 untuk direktori dir0, izin berikut diperlukan.

    • Jalankan perintah berikut untuk mendapatkan izin pada dir0:

      sudo nfs4_getfacl dir0
    • Contoh keluaran perintah:

      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

    Jika Anda mengonfigurasi POSIX ACL untuk direktori dir0, izin berikut diperlukan.

    • Jalankan perintah berikut:

      sudo getfacl dir0
    • Contoh keluaran perintah:

      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::---

    Jika Anda mengonfigurasi ACL NFSv4 untuk file dir0/file, izin berikut diperlukan.

    • Jalankan perintah berikut:

      sudo nfs4_getfacl dir0/file
    • Contoh keluaran perintah:

      A::OWNER@:tTnNcCy
      A::GROUP@:tncy
      A::EVERYONE@:tncy
      A:g:19064:rxtncy
      A:g:19065:rwaxtTnNcCy

    Jika Anda mengonfigurasi POSIX ACL untuk file dir0/file, izin berikut diperlukan.

    • Jalankan perintah berikut:

      sudo getfacl dir0/file
    • Contoh keluaran perintah:

      user::---
      group::---
      group:players:r-x
      group:adminis:rwx
      mask::rwx
      other::---
  • Jumlah ACL NFSv4 terbatas.

    Secara default, NAS mendukung maksimum 100.000 ACL berbeda di setiap sistem file. Setiap ACL dapat berisi maksimum 500 ACE.

    Catatan

    Kami menyarankan Anda untuk tidak melebihi batas ACL atau ACE. Jika tidak, lebih banyak waktu dan sumber daya akan dikonsumsi untuk memverifikasi izin.

Fitur-fitur POSIX ACL

  • Izin yang ditentukan untuk pengguna kelas lain berlaku untuk semua orang.

    Semua orang mencakup pemilik, grup, dan pengguna yang terkait dengan setiap ACE. Kelas lainnya setara dengan prinsipal EVERYONE dari ACL NFSv4.

    Catatan

    Kami menyarankan Anda memberikan hak istimewa minimal kepada pengguna kelas lainnya.

    Sebagai contoh, ACL berikut dikonfigurasikan untuk file myfile. Meskipun ACE berisi pengguna bernama alice yang tidak memiliki izin tulis, izin tulis menyebar ke ACE karena izin tersebut ditentukan untuk pengguna kelas lainnya. Contoh:

    • Jalankan perintah berikut:

      getfacl myfile
    • Contoh keluaran perintah:

      # file: myfile
      # owner: root
      # group: root
      user::rw-
      user:alice:r--
      group::r--
      mask::r--
      other::rw-
  • Izin yang dikonfigurasikan oleh ACL tidak berubah setelah Anda menjalankan perintah chmod.

    Catatan

    Kami menyarankan Anda untuk tidak memodifikasi umask file yang diterapkan ACL POSIX. Anda dapat mengonfigurasi izin pada file dengan memodifikasi ACL POSIX.

    Sebagai contoh, ACE yang memberikan grup players izin baca dan tulis pada file myfile. Contoh:

    • Jalankan perintah berikut:

      getfacl myfile
    • Contoh keluaran perintah:

      # file: myfile
      # owner: root
      # group: root
      user::rw-
      user:player:rw-
      group::rw-
      group:players:rw-
      mask::rw-
      other::---

    Perintah chmod g-w myfile atau chmod u-w myfile tidak mengubah izin yang diberikan kepada pengguna player atau grup players. Hal ini berbeda dari standar POSIX ACL. Namun, ini memastikan bahwa izin yang diberikan oleh ACL POSIX kepada pengguna non-reserved tetap sama setelah Anda memodifikasi izin menggunakan umask. Pengguna non-reserved mencakup semua pengguna kecuali pengguna dari kelas pemilik, grup, dan lainnya. Contoh:

    • Jalankan perintah berikut:

      getfacl myfile
    • Contoh keluaran perintah:

      # file: myfile
      # owner: root
      # group: root
      user::r--
      user:player:rw-
      group::r--
      group:players:rw-
      mask::rw-
      other::---
  • Jika izin eksekusi tidak diberikan kepada grup atau kelas lain dari ACL, izin eksekusi pada ACL tidak valid.

    Aturan ini telah ditentukan sebelumnya di Linux. Operasi eksekusi diizinkan oleh backend NAS. Namun, untuk memastikan bahwa izin eksekusi dalam ACL efektif, Anda harus memberikan izin eksekusi kepada grup atau kelas lain.

    Sebagai contoh, jika grup dan kelas lain tidak memiliki izin eksekusi pada file myfile, pengguna player tidak dapat mengeksekusi file tersebut. Contoh:

    • Jalankan perintah berikut:

      getfacl myfile
    • Contoh keluaran perintah:

      # file: myfile
      # owner: root
      # group: root
      user::rw-
      user:player:r-x
      group::r--
      mask::r-x
      other::r--

    Jika Anda memberikan izin eksekusi kepada kelas grup, izin eksekusi juga menyebar ke pengguna player. Contoh:

    • Jalankan perintah berikut:

      getfacl myfile
    • Contoh keluaran perintah:

      # file: myfile
      # owner: root
      # group: root
      user::rw-
      user:player:r-x
      group::r-x
      mask::r-x
      other::r--
  • Jika Anda mengonfigurasi ACL NFSv4 yang dapat diwariskan untuk direktori yang berada di sistem file NFSv3, pengaturan ini mungkin tidak sesuai dengan standar POSIX ACL.

    Aturan warisan yang berlaku untuk file berbeda dari aturan warisan yang berlaku untuk direktori dalam ACL NFSv4. Aturan warisan yang sama berlaku untuk file dan direktori dalam POSIX ACL.

    Catatan

    Untuk mencegah masalah potensial, kami menyarankan Anda menerapkan ACL NFS4 atau POSIX ACL ke sistem file NFS.

  • Umask tidak dapat dimodifikasi.

    Umask ACL POSIX dihasilkan oleh izin atau operasi semua pengguna dan grup. Mask tidak memiliki arti praktis dan tidak dapat diubah.

  • Anda harus mengelola pemetaan antara nama pengguna atau nama grup dan UID atau GID di beberapa instance.

    File Storage NAS NFS menggunakan grup keamanan IP alih-alih nama pengguna untuk mengotentikasi pengguna. Saat Anda mengonfigurasi ACL POSIX, UID atau GID yang termasuk dalam ACE disimpan di Linux. Saat Anda mencetak ACL untuk objek di shell, Linux secara otomatis memuat file /etc/passwd dan mengonversi UID atau GID menjadi nama pengguna atau nama grup aktual. Anda perlu mengelola pemetaan antara nama pengguna atau nama grup dan UID atau GID di beberapa instance. Anda harus memastikan bahwa setiap nama pengguna dipetakan ke UID yang sesuai, dan setiap nama grup dipetakan ke GID yang sesuai.

  • Anda dapat mencetak ACL POSIX menggunakan atribut yang diperluas.

    • Jalankan perintah berikut:

      getfattr -n system.posix_acl_access file
    • Contoh keluaran perintah:

      # file: file
      system.posix_acl_access=0sAgAAAAEAAAD/////AgAFACAEAAAEAAAA/////xAABQD/////IAABAP////8=
  • Anda dapat menggunakan alat seperti cp untuk memigrasi ACL POSIX.

    NAS memungkinkan Anda memigrasi ACL POSIX menggunakan alat cp, tar, dan rsync. Untuk informasi lebih lanjut, lihat Cara melestarikan NFS v4 ACL melalui atribut yang diperluas saat menyalin file.

    Perintah cp --preserve=xattr file1 file2 berikut menyalin ACL file1 saat menyalin file1 ke file2. Perintah cp -ar dir1 dir2 menyalin ACL dir1 saat menyalin dir1 ke dir2.

    Catatan

    ACL POSIX mungkin gagal dimigrasi jika versi alat rsync lebih awal dari 3.1.2.

    • Contoh 1: Migrasikan izin ACL pada file.

      1. Jalankan perintah getfacl file1 untuk melihat izin ACL pada 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 pada file2.

        # file: file2
        # owner: root
        # group: root
        user::rw-
        user:player:r--
        group::r--
        mask::r--
        other::r--
    • Contoh 2: Migrasikan ACL direktori.

      1. Jalankan perintah getfacl dir1 untuk melihat izin ACL pada 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 pada dir2.

        # file: dir2
        # owner: root
        # group: root
        user::rwx
        user:player:r-x
        group::r-x
        mask::r-x
        other::r-x
  • Jumlah ACL POSIX terbatas.

    Secara default, NAS mendukung maksimum 100.000 ACL berbeda di setiap sistem file. Setiap ACL dapat berisi maksimum 500 ACE.

    Catatan

    Kami menyarankan Anda untuk tidak melebihi batas ACL atau ACE. Jika tidak, lebih banyak waktu dan sumber daya akan dikonsumsi untuk memverifikasi izin.

FAQ

Mengapa ACE deny tidak didukung?

  • Posisi ACE yang berada dalam ACL penting.

    Urutan untuk ACE yang berada dalam ACL NFSv4 acak. ACE deny dapat ditempatkan di posisi mana saja dalam ACL NFSv4. Sebagai contoh, ACL berisi dua ACE: A::Alice:r dan D::Alice:r. Posisi ACE menentukan apakah pengguna bernama Alice memiliki izin tulis.

    Catatan

    Saat Anda mengonfigurasi ACL, Anda harus mempertimbangkan posisi setiap ACE.

  • Jumlah ACE dalam ACL meningkat tajam.

    ACE dalam ACL mungkin sulit digabungkan dan dihapus duplikatnya karena tidak wajib untuk mengurutkan ACE. Jumlah ACE dapat meningkat hingga puluhan atau ratusan selama periode waktu yang lama. Untuk mengelola izin akhir yang dihasilkan oleh ACE ini, Anda perlu memeriksa setiap ACE. Proses pemeriksaan ini melelahkan dan memakan waktu.

  • Interaksi antara umask dan ACL menjadi lebih kompleks setelah ACE deny diterapkan. Hal ini karena fitur deny tidak ada dalam umask.

    • Jika ACE deny tersedia, Anda mungkin perlu menambahkan beberapa ACE ke ACL saat umask diubah. Sebagai contoh, jika Anda mengubah umask menjadi -rw-rw-rw, Anda perlu menambahkan ACE berikut ke ACL. Anda harus menambahkan ACE tersebut secara berurutan di awal ACL.

      A::OWNER@:rw
      D::OWNER@:x
      A::GROUP@:rw
      D::GROUP@:x
      A::EVERYONE@:rw
      D::EVERYONE@:x
    • Jika ACE deny tidak tersedia, Anda dapat mengurutkan dan menghapus duplikat ACE sementara ACE untuk kelas everyone dan other tidak dibedakan. Jika Anda memodifikasi umask, Anda dapat memodifikasi ACL dengan mengubah ACE untuk pemilik, grup, dan everyone menjadi konten berikut:

      A::OWNER@:rw
      A::GROUP@:rw
      A::EVERYONE@:rw
  • Konversi antara ACL NFSv4 dan POSIX ACL tidak didukung.

    POSIX ACL tidak mendukung ACE deny. Jika ACE deny termasuk dalam ACL NFSv4, Anda tidak dapat mengonversi ACL tersebut menjadi POSIX ACL.