Cara Mengurus ACL di Linux

Cara Mengurus ACL di Linux

Objektif

Pengenalan kepada Pengurusan ACLS (Senarai Kawalan Akses) di Linux

Sistem operasi dan versi perisian

  • Sistem operasi: - Pengedaran Linux Agnostik

Keperluan

  • Akses root pada pemasangan linux yang berfungsi
  • Pengetahuan mengenai sistem kebenaran budi bicara
  • Sistem fail yang menyokong ACL (e.G XFS, EXT2, EXT3, EXT4), dipasang dengan pilihan 'ACL'
  • Mempunyai pakej 'ACL' dipasang

Kesukaran

Medium

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Pengenalan

Dalam tutorial ini, kita akan melihat ACLS apa, dan bagaimana untuk melakukan manipulasi asas keizinan seperti ini di platform Linux. Arahan di bawah akan berfungsi pada sebarang taburan Linux. Saya mengandaikan anda tahu dan selesa menggunakan kebenaran ugo/rwx discretionary standard Linux.

Jadi, apa itu ACL ?

ACL adalah tahap kedua kebenaran budi bicara, yang boleh mengatasi standard UGO/RWX. Apabila digunakan dengan betul, mereka dapat memberi anda butiran yang lebih baik dalam menetapkan akses ke fail atau direktori, contohnya dengan memberi atau menafikan akses kepada pengguna tertentu yang bukan pemilik fail, atau dalam pemilik kumpulan.



Bermula

Perkara pertama yang perlu anda lakukan, jika anda ingin memanfaatkan ACL adalah untuk memastikan bahawa sistem fail yang anda mahu gunakan, telah dipasang dengan pilihan 'ACL'. Untuk mengesahkan yang terakhir, anda boleh menjalankan perintah 'tune2fs -l', lulus partition sebagai argumen. Seperti yang anda lihat berjalan (output dipotong):

# tune2fs -l /dev /sda3 

Memberi hasil berikut pada sistem saya, menunjukkan bahawa sistem fail pada /dev /sda3 mempunyai, antara pilihan gunung lalai, juga 'acl'.

Jika sistem fail anda belum dipasang dengan pilihan 'ACL', anda boleh memasang semula ia memberikan pilihan yang diperlukan:

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

Walau bagaimanapun, perhatikan bahawa pilihan gunung menetapkan cara ini, tidak akan berterusan, dan tidak akan bertahan dengan reboot. Sekiranya anda ingin mendapatkan kegigihan, anda perlu mengubah suai pilihan sistem fail di /etc /fstab, memberikan pilihan 'ACL'.

Perkara lain yang kita perlukan, ialah memasang ACL pakej. Pakej ini mengandungi pelbagai utiliti ACL seperti getfacl dan setfacl program.

Kes ujian

Mari lihat apa yang boleh dilakukan oleh ACL untuk kita. Pertama kita akan membuat fail bernama teks.CFG dan kami akan memberikannya sebagai hujah kepada getfacl perintah. Mari lihat apa output arahan ini:

 Teks Touch $.teks cfg && getfacl.cfg 

Seperti yang anda lihat, kerana kami tidak menetapkan kebenaran ACL pada fail, arahan itu hanya memaparkan nilai kebenaran standard, ditambah dengan pemilik fail dan pemilik kumpulan, kedua -duanya telah membaca dan menulis kebenaran. Sekarang mari kita bayangkan kami ingin memberikan pengguna tertentu (saya akan membuat pengguna ini dengan tujuan dan memanggilnya dummy ), satu set keistimewaan tertentu pada fail. Kita hanya perlu menjalankan:

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

Mari kita menganalisis arahan: pertama kita ada, tentu saja, nama program setfacl, yang cukup jelas, maka kami lulus -m pilihan (pendek untuk --mengubah suai) yang membolehkan kita menukar ACLs fail, maka keterangan kebenaran U: Dummy: RW.

Kami mempunyai tiga 'bahagian' yang dibahagikan oleh Colon: pada yang pertama, u bermaksud pengguna, menyatakan bahawa kami ingin menetapkan ACL untuk pengguna tertentu. Ia mungkin g untuk kumpulan, atau o untuk yang lain. Di bahagian kedua kita mempunyai nama pengguna yang kita mahu menetapkan kebenaran untuk, dan pada ketiga, keizinan untuk diberikan.

Akhirnya, nama fail yang kami mahu memohon kebenaran.

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

$ getFacl Text.cfg 



Entri telah ditambah untuk dummy pengguna, menunjukkan keizinan yang kami berikan kepadanya. Selain daripada itu, jika anda perasan, juga entri untuk topeng telah muncul. Apa yang ada ? Topeng yang dikaitkan dengan ACL mengehadkan set kebenaran yang boleh diberikan pada fail untuk kumpulan dan pengguna yang dinamakan dan untuk pemilik kumpulan, tetapi tidak memberi kesan kepada keizinan untuk pemilik fail dan yang lain Kumpulan Kebenaran.

Dalam kes ini, hanya kebenaran membaca dan menulis boleh ditugaskan dengan perintah setFACL. Sudah tentu kita boleh mengubah pilihan ini, menggunakan setfacl program itu sendiri:

$ setfacl -m topeng: r teks.cfg 

Dengan arahan di atas, kami menetapkan topeng untuk membenarkan hanya kebenaran membaca. Mari kita periksa output getfacl Sekarang:

$ getFacl Text.cfg 


Seperti yang anda lihat, bukan sahaja perubahan yang kami buat pada topeng kini dilaporkan, tetapi juga keizinan yang berkesan untuk pemilik kumpulan dan pengguna bernama dummy ditunjukkan. Walaupun pemilik kumpulan dan dummy Pengguna mempunyai kebenaran membaca dan menulis pada fail, dengan menukar topeng, kami telah membatasi keizinan mereka dengan berkesan untuk membaca sahaja. Seperti yang ditunjukkan oleh output arahan, mereka kini hanya dibenarkan membaca fail.

Selain daripada secara eksplisit berubah dengan arahan di atas, topeng ACLS juga akan dikira semula secara automatik apabila kita menetapkan atau menukar kebenaran dengan setFACL (kecuali pilihan -n ditentukan). Mari kita tunjukkan bahawa: kita akan mengubah keizinan dummy pengguna ke RWX Dan kemudian periksa output getFACL:

$ setfacl -m u: dummy: teks rwx.teks cfg && getfacl.cfg 


Seperti yang anda dapat lihat topeng telah dikira semula dan kini mencerminkan keizinan maksimum yang hadir untuk pengguna yang dinamakan dummy. Jelas sekali, kerana sekarang tidak ada kebenaran yang ditetapkan sebelumnya lebih tinggi daripada topeng, tidak ada keperluan untuk menunjukkan #fektif status kebenaran.

Anda juga boleh menggunakan ACL untuk menafikan sepenuhnya akses ke fail untuk pengguna atau kumpulan bernama tertentu. Sebagai contoh, dengan menjalankan:

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

Kami secara berkesan menafikan semua keistimewaan ke dummy pengguna di teks.Fail CFG.



ACL lalai

The lalai ACL adalah jenis kebenaran tertentu yang diberikan kepada direktori, yang tidak mengubah kebenaran direktori itu sendiri, tetapi menjadikannya supaya ACL yang ditentukan ditetapkan secara lalai pada semua fail yang dibuat di dalamnya. Mari kita tunjukkan: pertama kita akan membuat direktori dan menyerahkan lalai ACL dengan menggunakan -d pilihan:

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

Sekarang, kita boleh mengkaji output getFACL untuk direktori itu:

$ getFACL Ujian 


The lalai Kebenaran telah diberikan dengan betul. Sekarang kita dapat mengesahkannya dengan membuat fail di dalam direktori ujian dan memeriksa keizinannya dengan menjalankan GetFACL:

Ujian/fail $ sentuh.CFG && GetFACL Test/File.cfg 


Seperti yang dijangkakan, fail telah dibuat secara automatik menerima kebenaran ACLS yang dinyatakan di atas.

Apabila anda mahu memadamkan semua set ACL, anda sentiasa boleh menjalankan setFACL dengan -b pilihan.

Tutorial ini merangkumi aspek utama ACL, dan tentu saja ada lebih banyak lagi tentang mereka untuk mengetahui, jadi saya cadangkan, seperti biasa, untuk membaca manual untuk pengetahuan yang lebih mendalam. Sekarang ingat bahawa jika anda ingin mengeluarkan semua kebenaran ACLS yang diberikan kepada fail, anda hanya perlu menjalankan setfacl dengan -b (ringkasan untuk --keluarkan semua) pilihan.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Fail Konfigurasi Linux: 30 teratas yang paling penting
  • Muat turun linux
  • Bolehkah linux mendapat virus? Meneroka kelemahan Linux ..
  • Distro linux terbaik untuk pemaju
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Cara Gunung ISO di Linux
  • Cara memformat cakera di linux