Di sistem operasi Linux, kita mengenal perintah chmod dan chown untuk mengatur izin akses serta kepemilikan file. Namun, jika membutuhkan pengaturan izin yang lebih spesifik dan fleksibel, Access Control List (ACL) dapat menjadi solusi.
Dengan ACL, Anda dapat memberikan izin baca, tulis, atau eksekusi kepada pengguna maupun grup tertentu tanpa harus mengubah owner atau group utama file menggunakan chmod atau chown.
Dua perintah utama yang digunakan untuk mengelola ACL adalah getfacl dan setfacl.
getfacl Command
#
Perintah getfacl digunakan untuk menampilkan daftar Access Control List (ACL) dari sebuah file atau direktori.
Contoh penggunaan:
getfacl index.phpOutput:
# file: index.php
# owner: devops
# group: devops
user::rw-
group::r--
other::r--setfacl Command
#
Perintah setfacl digunakan untuk menambah, mengubah, menghapus, atau mengatur aturan ACL pada file maupun direktori.
Berikut beberapa opsi yang umum digunakan:
| Opsi | Keterangan |
|---|---|
-m u:nama:rwx |
Memberikan izin baca, tulis, dan eksekusi kepada pengguna tertentu |
-m g:nama_grup:r-x |
Memberikan izin baca dan eksekusi kepada grup tertentu |
-x u:nama |
Menghapus aturan ACL untuk pengguna tertentu |
-b |
Menghapus seluruh aturan ACL tambahan |
-d |
Menetapkan ACL bawaan pada direktori agar diwarisi oleh file atau direktori baru |
-R |
Menerapkan perubahan secara rekursif ke seluruh isi direktori dan subdirektori |
Contoh penggunaan:
setfacl -m u:admin:rwx /shared/folder
setfacl -m d:u:admin:rwx /shared/folderPenjelasan:
- Perintah pertama memberikan hak akses
rwxkepada useradminpada direktori/shared/folder. - Perintah kedua menetapkan ACL bawaan (
default ACL) sehingga seluruh file dan direktori baru di dalam/shared/folderotomatis mewarisi izin tersebut.