Cara Mengurus ACL di Linux
- 3577
- 312
- Wendell Shields
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
- « Bermula dengan Jekyll di Debian 9 Stretch Linux
- Lemp (Linux, Nginx, MariaDB, PHP) Stack Docker Image Deployment »