GNU/Linux >> Belajar Linux >  >> Linux

UNIX/Linux :Dasar-dasar daftar kontrol akses (ACL)

Mengapa kita membutuhkan ACL ?

Setiap file pada sistem file UNIX apa pun akan memiliki pemilik/grup dan serangkaian izin. Bayangkan sebuah kasus ketika banyak pengguna membutuhkan akses ke file yang sama dan pengguna berasal dari grup yang berbeda. Daftar kontrol akses file (FACL) atau hanya ACL adalah daftar pengguna/grup tambahan dan izin mereka ke file.

Cara mengetahui jika file memiliki ACL yang dilampirkan

Sangat mudah untuk mengetahui kapan file memiliki ACL terlampir. ls -l perintah akan menghasilkan output seperti yang ditunjukkan di bawah ini.

# ls -l
-rw-r--r-+ 1   root   root  0  Sep  19  14:41  file

Perhatikan + tanda tangani di akhir izin. Ini mengonfirmasi bahwa file tersebut memiliki ACL yang dilampirkan.

Melihat ACL

Untuk menampilkan detail informasi ACL dari sebuah file, gunakan getfacl memerintah.

# getfacl /tmp/test
# file: test
# owner: root
# group: root
user::rw-
user:john:rw-
user:sam:rwx
group::r--
mask::rwx
other:---

Perhatikan 3 pengguna: . yang berbeda garis. Baris pertama mencantumkan izin file standar dari pemilik file. 2 izin pengguna lainnya adalah izin individu untuk pengguna john dan sam. Bidang topeng di sini hanya berlaku untuk izin tambahan yang telah kami berikan kepada pengguna dan grup. Jika mask diatur ke rwx, izin baca, tulis, dan eksekusi akan diberikan kepada pengguna/grup tambahan. Jika mask disetel ke r-x, izin menulis tidak akan diberikan kepada pengguna/grup tambahan. Secara umum, JANGAN atur mask ke apa pun selain rwx. Nilai mask tidak memengaruhi izin pengguna/grup/lain-lain UNIX standar.

File tanpa ACL
Jika Anda menjalankan perintah getfacl pada file tanpa ACL, baris "user:" tambahan dan baris "mask" tidak akan ditampilkan dan izin file standar akan ditampilkan.

# getfacl test
# file: test
# owner: root
# group: root
user::rw-
group::r--
other::r--

Membuat dan Mengelola FACL

setfacl perintah digunakan untuk mengatur ACL pada file yang diberikan. Untuk memberikan akses rw ke pengguna john pada file /tmp/test :

# setfacl -m u:john:rw /tmp/test

Opsi -m memberi tahu setfacl untuk memodifikasi ACL pada file yang disebutkan dalam baris perintah. Alih-alih pengguna john, kami dapat memiliki grup untuk memiliki izin khusus pada file:

# setfacl -m g:accounts:rw /tmp/test

FACL untuk beberapa pengguna dan grup juga dapat diatur dengan satu perintah :

# setfacl -m u:john:rw,g:accounts:rwx /tmp/test

FACL default pada direktori

ACL default hanya dibuat di direktori. Saat Anda menyetel ACL default pada direktori, file apa pun yang dibuat dalam direktori tersebut juga akan memiliki FACL default yang ditetapkan secara otomatis.

Untuk membuat FACL default pada direktori :

# setfacl -m default:u:john:rw /accounts
# getfacl accounts/
# file: accounts/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:john:rw-
default:group::r-x
default:mask::rwx
default:other::r-x

Sekarang buat file baru di direktori akun dan daftarkan FACL pada file tersebut :

# touch /accounts/test
# getfacl test
# file: test
# owner: root
# group: root
user::rw-
user:john:rw-
group::r-x			#effective:r--
mask::rw-
other::r--

Menghapus FACL

Untuk menghapus FACL, gunakan perintah setfacl dengan opsi -x :

# setfacl -x u:john /tmp/test

Perintah di atas menghapus ACL untuk pengguna john pada file /tmp/test. ACL untuk pengguna/grup lain jika ada tetap tidak terpengaruh.

Untuk menghapus semua ACL yang terkait dengan file, gunakan opsi -b dengan setfacl :

# setfacl -b /tmp/test

Mencadangkan FACL

Sering kali, perangkat lunak pencadangan mungkin tidak menyalin metadata yang terkait dengan FACL pada file. Dalam hal ini Anda mungkin ingin membuat cadangan informasi FACL pada file. Sekarang, FACL pada semua file dalam direktori (termasuk semua sub direktori) dapat disalin dalam satu file.

# cd /accounts
# getfacl -R * > accounts_facl        ( -R -> recursive )

Memulihkan FACL

Saat Anda memulihkan file di direktori /accounts, Anda harus memulihkan FACL yang terkait dengan file di direktori itu. UNTUK melakukannya gunakan file cadangan FACL accounts_facl bersama dengan –memulihkan pilihan :

# setfacl --restore=accounts_facl


Linux
  1. Dasar-dasar Izin File Linux

  2. Pengantar Daftar Kontrol Akses Linux (ACL)

  3. Pengalihan Input/Output di Linux/Unix

  1. Linux – Memahami Izin Unix Dan Jenis File?

  2. RHEL 7 – Catatan RHCSA – Membuat dan mengelola Daftar Kontrol Akses (ACL)

  3. Cara Mengonfigurasi ACL (Access Control Lists) di Sistem File Linux

  1. Daftar kontrol akses dan drive eksternal di Linux:Apa yang perlu Anda ketahui

  2. Pemantauan Akses File Linux?

  3. akses bersamaan ke file linux