Cara mengelola ACL di Linux

Cara mengelola ACL di Linux

Objektif

Pengantar Manajemen ACLS (Daftar Kontrol Akses) di Linux

Sistem Operasi dan Versi Perangkat Lunak

  • Sistem operasi: - Distribusi Linux Agnostik

Persyaratan

  • Akses root pada instalasi Linux yang berfungsi
  • Pengetahuan tentang sistem izin diskresioner
  • Sistem file yang mendukung ACLS (e.G XFS, Ext2, Ext3, Ext4), dipasang dengan opsi 'ACL'
  • Memasang paket 'ACL'

Kesulitan

SEDANG

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Perkenalan

Dalam tutorial ini kita akan melihat ACLS apa itu, dan bagaimana melakukan manipulasi dasar dari izin semacam ini pada platform Linux. Instruksi di bawah ini akan bekerja pada distribusi Linux apa pun. Saya berasumsi Anda tahu dan merasa nyaman menggunakan izin UGO/RWX Linux Discretionary standar.

Jadi, apa itu ACL ?

ACLS adalah tingkat kedua izin diskresioner, yang dapat mengesampingkan yang standar UGO/RWX standar. Ketika digunakan dengan benar, mereka dapat memberi Anda granularitas yang lebih baik dalam mengatur akses ke file atau direktori, misalnya dengan memberikan atau menolak akses ke pengguna tertentu yang bukan pemilik file, atau pada pemilik grup.



Mulai

Hal pertama yang harus Anda lakukan, jika Anda ingin memanfaatkan ACLS adalah memastikan bahwa sistem file yang ingin Anda gunakan, telah dipasang dengan opsi 'ACL'. Untuk memverifikasi yang terakhir, Anda dapat menjalankan perintah 'tune2fs -l', meneruskan partisi sebagai argumen. Seperti yang Anda lihat berjalan (output terpotong):

# tune2fs -l /dev /sda3 

memberikan hasil berikut pada sistem saya, menunjukkan bahwa sistem file di /dev /sda3 memiliki, di antara opsi pemasangan default, juga 'acl'.

Jika sistem file Anda belum dipasang dengan opsi 'ACL', Anda dapat memasangnya kembali memberikan opsi yang diperlukan:

# mount -o remount -o acl /dev /sda1 

Namun, perhatikan bahwa opsi pemasangan diatur dengan cara ini, tidak akan gigih, dan tidak akan selamat dari reboot. Jika Anda ingin mendapatkan kegigihan, Anda harus memodifikasi opsi pemasangan sistem file di /etc /fstab, menetapkan opsi 'ACL' secara statis.

Hal lain yang kita butuhkan, adalah menginstal ACL kemasan. Paket ini berisi berbagai utilitas ACLS seperti getfacl Dan setfacl program.

Kasus uji

Mari kita lihat apa yang dapat dilakukan ACL untuk kita. Pertama kami akan membuat file bernama teks.CFG dan kami akan memberikannya sebagai argumen untuk getfacl memerintah. Mari kita lihat apa yang ditunjukkan output dari perintah ini:

 $ Text Text.CFG && Teks GetFacl.CFG 

Seperti yang Anda lihat, karena kami tidak menetapkan izin ACL pada file, perintah hanya menampilkan nilai izin standar, ditambah pemilik file dan pemilik grup, keduanya memiliki izin membaca dan menulis. Sekarang mari kita bayangkan kita ingin memberikan pengguna tertentu (saya akan membuat pengguna ini dengan sengaja dan meneleponnya contoh ), satu set hak istimewa tertentu pada file. Kami hanya perlu menjalankan:

$ setfacl -m u: dummy: rw teks.CFG 

Mari kita analisis perintah: Pertama kita punya, tentu saja, nama program setfacl, yang cukup jelas, lalu kami melewati -M opsi (pendek untuk --memodifikasi) yang memungkinkan kita untuk mengubah ACLS file, lalu deskripsi izin U: Dummy: RW.

Kami memiliki tiga 'bagian' dibagi dengan titik dua: di yang pertama, u Berarti pengguna, menentukan bahwa kami ingin mengatur ACLS untuk pengguna tertentu. Itu bisa jadi a G untuk grup, atau Hai untuk yang lain. Di bagian kedua kami memiliki nama pengguna yang ingin kami atur izin, dan pada yang ketiga, izin untuk menetapkan.

Akhirnya, nama file tempat kami ingin menerapkan izin.

Jika kita sekarang mencoba menjalankan perintah 'getfacl', kita dapat melihat bahwa outputnya mencerminkan perubahan yang kita buat:

$ getfacl teks.CFG 



Entri telah ditambahkan untuk contoh pengguna, menunjukkan izin yang kami tetapkan kepadanya. Selain itu, jika Anda perhatikan, juga entri untuk masker telah muncul. Apa yang terjadi ? Topeng yang terkait dengan ACL membatasi set izin yang dapat ditetapkan pada file untuk grup dan pengguna yang disebutkan dan untuk pemilik grup, tetapi tidak berpengaruh pada izin untuk pemilik file dan lainnya grup izin.

Dalam hal ini, hanya izin membaca dan menulis yang dapat ditetapkan dengan perintah setfacl. Tentu saja kita dapat mengubah opsi ini, menggunakan setfacl Program itu sendiri:

$ setfacl -m mask: r teks.CFG 

Dengan perintah di atas, kami mengatur topeng untuk hanya mengizinkan izin membaca. Mari kita periksa outputnya getfacl Sekarang:

$ getfacl teks.CFG 


Seperti yang Anda lihat, tidak hanya perubahan yang kami buat pada topeng sekarang dilaporkan, tetapi juga izin efektif untuk pemilik grup dan pengguna yang disebutkan contoh ditunjukkan. Meskipun pemilik grup dan contoh Pengguna memiliki izin membaca dan menulis pada file, dengan mengganti topeng, kami secara efektif membatasi izin mereka untuk membaca saja. Seperti yang ditunjukkan oleh output perintah, mereka sekarang hanya diizinkan membaca file.

Selain diubah secara eksplisit dengan perintah di atas, mask ACLS juga secara otomatis dihitung ulang ketika kami menetapkan atau mengubah izin dengan setFacL (kecuali opsi -n ditentukan). Mari kita tunjukkan bahwa: kita akan mengubah izin dari contoh pengguna ke rwx dan kemudian periksa output getFacL:

$ setfacl -m u: dummy: rwx teks.CFG && Teks GetFacl.CFG 


Karena Anda dapat melihat topeng dihitung ulang dan sekarang mencerminkan izin maksimum yang ada untuk pengguna yang disebutkan contoh. Jelas, karena sekarang tidak ada izin yang ditetapkan sebelumnya lebih tinggi dari topeng, tidak perlu menunjukkan #efektif status izin.

Anda juga dapat menggunakan ACL untuk sepenuhnya menolak akses ke file untuk pengguna atau grup bernama tertentu. Misalnya, dengan menjalankan:

$ setfacl -m u: dummy: - teks.CFG 

Kami secara efektif menyangkal semua hak istimewa untuk contoh Pengguna di Teks.File CFG.



ACL default

Itu bawaan ACL adalah jenis izin tertentu yang ditugaskan ke direktori, yang tidak mengubah izin direktori itu sendiri, tetapi membuatnya sehingga ACL yang ditentukan ditetapkan secara default pada semua file yang dibuat di dalamnya. Mari kita tunjukkan: Pertama kita akan membuat direktori dan menetapkan bawaan ACL untuk itu dengan menggunakan -D pilihan:

$ mkdir test && setfacl -d -m u: dummy: tes rw 

Sekarang, kita dapat memeriksa output getFacL untuk direktori itu:

Tes $ getFacl 


Itu bawaan izin telah ditetapkan dengan benar. Sekarang kita dapat memverifikasi dengan membuat file di dalam direktori tes dan memeriksa izinnya dengan menjalankan getFacL:

$ tes/file sentuh.CFG && GETFACL TEST/FILE.CFG 


Seperti yang diharapkan, file telah dibuat secara otomatis menerima izin ACLS yang ditentukan di atas.

Saat Anda ingin menghapus semua set ACLS, Anda selalu dapat menjalankan setfacl dengan -B pilihan.

Tutorial ini mencakup aspek utama ACLS, dan tentu saja ada lebih banyak tentang mereka untuk mengetahui, jadi saya sarankan, seperti biasa, membaca manual untuk pengetahuan yang lebih dalam. Sekarang ingatlah bahwa jika Anda ingin menghapus semua izin ACLS yang ditetapkan untuk file, Anda hanya perlu menjalankan setfacl dengan -B (kependekan dari --Hapus semua) pilihan.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Unduh Linux
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Distro linux terbaik untuk pengembang
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Cara memasang gambar iso di linux
  • Cara memformat disk di linux