Cara Menetapkan Senarai Kawalan Akses (ACL) dan kuota cakera untuk pengguna dan kumpulan

Cara Menetapkan Senarai Kawalan Akses (ACL) dan kuota cakera untuk pengguna dan kumpulan

Senarai Kawalan Akses (juga dikenali sebagai ACLS) adalah ciri kernel Linux yang membolehkan untuk menentukan hak akses yang lebih halus untuk fail dan direktori daripada yang ditentukan oleh biasa Ugo/RWX keizinan.

Contohnya, standard Ugo/RWX Kebenaran tidak membenarkan untuk menetapkan kebenaran yang berbeza untuk pengguna atau kumpulan individu yang berbeza. Dengan ACL ini agak mudah dilakukan, seperti yang akan kita lihat dalam artikel ini.

Memeriksa keserasian sistem fail dengan ACLS

Untuk memastikan bahawa sistem fail anda sedang menyokong ACL, anda harus memeriksa bahawa mereka telah dipasang menggunakan pilihan ACL. Untuk melakukan itu, kami akan menggunakan tune2fs untuk sistem fail ext2/3/4 seperti yang ditunjukkan di bawah. Menggantikan /dev/sda1 Dengan peranti atau sistem fail yang ingin anda periksa:

# tune2fs -l /dev /sda1 | GREP "Pilihan Gunung Lalai:" 

Catatan: Dengan Xfs, Senarai kawalan akses disokong keluar dari kotak.

Dalam perkara berikut ext4 sistem fail, kita dapat melihat bahawa ACL telah diaktifkan /dev/xvda2:

# tune2fs -l /dev /xvda2 | GREP "Pilihan Gunung Lalai:" 
Semak ACL didayakan pada sistem fail linux

Sekiranya arahan di atas tidak menunjukkan bahawa sistem fail telah dipasang dengan sokongan untuk ACL, kemungkinan besar disebabkan oleh NOACL pilihan hadir di /etc/fstab.

Dalam hal ini, keluarkannya, buang sistem fail, dan kemudian pasangkannya lagi, atau reboot sistem anda setelah menyimpan perubahan ke /etc/fstab.

Memperkenalkan ACL di Linux

Untuk menggambarkan bagaimana ACL berfungsi, kami akan menggunakan kumpulan yang dinamakan pemaju dan tambah pengguna Walterwhite dan Saulgoodman (Ya, saya peminat buruk!) kepadanya.:

# pemaju kumpulan # useradd walterwhite # useradd saulgoodman # usermod -a -g pemaju walterwhite # usermod -a -g pemaju saulgoodman 

Sebelum kita meneruskan, mari mengesahkan bahawa kedua -dua pengguna telah ditambah kepada kumpulan pemaju:

# id walterwhite # id saulgoodman 
Cari ID Pengguna di Linux

Mari kita buat direktori yang dipanggil ujian dalam /mnt, dan fail yang dinamakan ACL.txt dalam (/mnt/ujian/ACL.txt).

Kemudian kami akan menetapkan pemilik kumpulan ke pemaju dan tukar lalai Ugo/RWX Kebenaran secara rekursif ke 770 (dengan itu memberikan membaca, menulis, dan melaksanakan keizinan yang diberikan kepada pemilik dan pemilik kumpulan fail):

# mkdir/mnt/ujian # sentuh/mnt/test/acl.TXT # CHGRP -R Pemaju /MNT /Ujian # CHMOD -R 770 /MNT /Ujian 

Seperti yang dijangkakan, anda boleh menulis ke /mnt/ujian/ACL.txt sebagai Walterwhite atau Saulgoodman:

# Su - Walterwhite # echo "Nama saya Walter White">/Mnt/Test/ACL.txt # exit # su - saulgoodman # echo "Nama saya Saul Goodman" >>/mnt/test/ACL.TXT # EXIT 
Sahkan peraturan ACL pada pengguna

Setakat ini begitu baik. Walau bagaimanapun, kita akan melihat masalah apabila kita perlu memberikan akses menulis ke /mnt/ujian/ACL.txt untuk pengguna lain yang tidak berada dalam kumpulan pemaju.

Standard Ugo/RWX keizinan akan menghendaki pengguna baru ditambah kepada kumpulan pemaju, tetapi itu akan memberikannya keizinan yang sama atas semua objek yang dimiliki oleh kumpulan. Itu tepat di mana ACL berguna.

Menetapkan ACL di Linux

Terdapat dua jenis ACL: ACLS ACLS (yang digunakan untuk fail atau direktori), dan ACL lalai (pilihan), yang hanya boleh digunakan untuk direktori.

Sekiranya fail di dalam direktori di mana a ACL lalai telah ditetapkan tidak mempunyai ACL sendiri, mereka mewarisi ACL lalai direktori induk mereka.

Mari Berikan Pengguna Gacanepa membaca dan menulis akses ke /mnt/ujian/ACL.txt. Sebelum melakukan itu, mari kita lihat tetapan ACL semasa dalam direktori itu dengan:

# getFacl/mnt/test/acl.txt 

Kemudian tukar ACL pada fail, gunakan U: diikuti dengan nama pengguna dan : RW Untuk menunjukkan kebenaran membaca / menulis:

# setfacl -m u: gacanepa: rw/mnt/test/acl.txt 

Dan berlari getfacl di fail sekali lagi untuk membandingkan. Imej berikut menunjukkan "Sebelum" dan "Selepas":

# getFacl/mnt/test/acl.txt 
Tetapkan ACL pada pengguna Linux

Seterusnya, kita perlu memberi orang lain melaksanakan keizinan di /MNT/Ujian Direktori:

# chmod +x /mnt /ujian 

Perlu diingat bahawa untuk mengakses kandungan direktori, pengguna tetap memerlukan keizinan pada direktori itu.

Pengguna Gacanepa harus sekarang dapat menulis ke fail. Beralih ke akaun pengguna itu dan laksanakan arahan berikut untuk mengesahkan:

# echo "Nama saya Gabriel Cánepa" >>/mnt/test/ACL.txt 

Untuk menetapkan ACL lalai ke direktori (yang kandungannya akan mewarisi kecuali ditimpa sebaliknya), tambah D: Sebelum peraturan dan tentukan direktori dan bukannya nama fail:

# setfacl -m d: o: r/mnt/ujian # getfacl/mnt/test/ 

ACL di atas akan membolehkan pengguna tidak dalam kumpulan pemilik telah membaca akses ke kandungan masa depan /MNT/Ujian direktori. Perhatikan perbezaan dalam output getfacl /mnt /ujian sebelum dan selepas perubahan:

Tetapkan ACL lalai ke direktori Linux

Untuk mengeluarkan ACL tertentu, ganti -m dalam perintah di atas dengan -x. Sebagai contoh,

# setfacl -x d: o /mnt /ujian 

Sebagai alternatif, anda juga boleh menggunakan -b Pilihan untuk membuang semua ACL dalam satu langkah:

# setfacl -b /mnt /ujian 

Untuk maklumat lanjut dan contoh mengenai penggunaan ACL, sila rujuk Bab 10, Bahagian 2, Panduan Keselamatan OpenSuse (juga tersedia untuk dimuat turun tanpa kos dalam format PDF).

Tetapkan kuota cakera linux pada pengguna dan sistem fail

Ruang Penyimpanan adalah sumber lain yang mesti digunakan dan dipantau dengan teliti. Untuk melakukan itu, kuota boleh ditetapkan berdasarkan sistem fail, sama ada untuk pengguna individu atau untuk kumpulan.

Oleh itu, had diletakkan pada penggunaan cakera yang dibenarkan untuk pengguna tertentu atau kumpulan tertentu, dan anda boleh yakin bahawa cakera anda tidak akan diisi dengan kapasiti oleh pengguna yang cuai (atau malintention).

Perkara pertama yang mesti anda lakukan untuk membolehkan kuota pada sistem fail adalah untuk memasangnya dengan pilihan usrquota atau grpquota (untuk pengguna dan kumpulan, masing -masing) /etc/fstab.

Contohnya, mari kita mengaktifkan kuota berasaskan pengguna /dev/vg00/vol_backups dan kuota berasaskan kumpulan mengenai /dev/vg00/vol_projects.

Perhatikan bahawa Uuid digunakan untuk mengenal pasti setiap sistem fail.

UUID = F6D1EBA2-9AED-40EA-99AC-75F4BE05C05A /Rumah /Projek EXT4 DEFAULTS, GRPQUOTA 0 0 UUID = E1929239-5087-44B1-9396-53E0ESS /BACKSS 

Unmount dan mengulangi kedua -dua sistem fail:

# Umount /Home /Projects # Umount /Home /Backups # Mount -O Remount /Home /Projects # Mount -O Remount /Home /Backups 

Kemudian periksa bahawa pilihan usrquota dan grpquota hadir dalam output gunung (lihat diserlahkan di bawah):

# Mount | Grep VG00 
Semak kuota pengguna Linux dan kuota kumpulan

Akhirnya, jalankan arahan berikut untuk memulakan dan membolehkan kuota:

# quotacheck -avugc # quotaon -vu /rumah /sandaran # kuota -vg /rumah /projek 

Yang berkata, mari kita berikan kuota kepada nama pengguna dan kumpulan yang kami sebutkan tadi. Anda kemudian boleh melumpuhkan kuota dengan Kuota.

Menetapkan kuota cakera linux

Mari mulakan dengan menetapkan ACL /rumah/sandaran untuk pengguna Gacanepa, Yang akan memberinya membaca, menulis, dan melaksanakan keizinan pada direktori itu:

# setfacl -m u: gacanepa: rwx/rumah/sandaran/ 

Kemudian dengan,

# edquota -u gacanepa 

Kami akan membuat lembut had = 900 Dan yang sukar had = 1000 Blok (1024 bait/blok * 1000 blok = 1024000 bytes = 1 mb) penggunaan ruang cakera.

Kita juga boleh meletakkan had 20 dan 25 sebagai had lembut dan keras pada bilangan fail yang dapat dibuat oleh pengguna ini.

Perintah di atas akan melancarkan editor teks (Editor $) Dengan fail sementara di mana kita boleh menetapkan had yang disebutkan sebelumnya:

Kuota cakera linux untuk pengguna

Tetapan ini akan menyebabkan amaran ditunjukkan kepada pengguna Gacanepa Ketika dia sampai di 900-blok atau 20-Inod Had untuk tempoh kemuliaan lalai selama 7 hari.

Jika melebihi kuota Keadaan belum dihapuskan pada masa itu (contohnya, dengan mengeluarkan fail), had lembut akan menjadi had keras dan pengguna ini akan dihalang daripada menggunakan lebih banyak ruang penyimpanan atau membuat lebih banyak fail.

Untuk menguji, mari kita gacanepa pengguna cuba membuat kosong 2 Mb fail bernama ujian1 dalam /rumah/sandaran:

# dd if =/dev/sifar =/rumah/backups/test1 bs = 2m count = 1 # ls -lh/home/backups/test1 
Sahkan kuota pengguna linux pada cakera

Seperti yang anda lihat, fail operasi tulis gagal kerana kuota cakera telah melebihi. Kerana hanya yang pertama 1000 kb ditulis ke cakera, hasil dalam kes ini kemungkinan besar akan menjadi fail yang korup.

Begitu juga, anda boleh membuat ACL untuk kumpulan pemaju untuk memberi ahli akses RWX kumpulan itu /rumah/projek:

# setfacl -m g: pemaju: rwx/rumah/projek/ 

Dan tetapkan had kuota dengan:

# edquota -g pemaju 

Sama seperti yang kita lakukan dengan pengguna Gacanepa Terdahulu.

Tempoh tangguh boleh ditentukan selama beberapa saat, minit, jam, hari, minggu, atau bulan dengan melaksanakan.

# edquota -t 

dan mengemas kini nilai di bawah Menyekat tempoh kemahuan dan tempoh kemahuan inode.

Berbanding dengan blok atau penggunaan inod (yang ditetapkan pada pengguna atau kumpulan kumpulan), tempoh tangguh ditetapkan di seluruh sistem.

Untuk melaporkan kuota, anda boleh menggunakan kuota -u [pengguna] atau kuota -g [kumpulan] untuk senarai cepat atau repquota -v [/path/to/filesystem] Untuk laporan yang lebih terperinci (verbose) dan baik diformat.

Sudah tentu, anda akan mahu menggantikannya [Pengguna], [kumpulan], dan [/Path/to/Filesystem] dengan nama pengguna / kumpulan tertentu dan sistem fail yang ingin anda periksa.

Ringkasan

Dalam artikel ini kita telah menjelaskan cara menetapkan Senarai Kawalan Akses dan kuota cakera untuk pengguna dan kumpulan. Menggunakan kedua -duanya, anda akan dapat menguruskan kebenaran dan penggunaan cakera dengan lebih berkesan.

Jika anda ingin mengetahui lebih lanjut mengenai kuota, anda boleh merujuk kepada kuota mini-howto dalam projek dokumentasi Linux.

Tidak perlu dikatakan, anda juga boleh bergantung kepada kami untuk menjawab soalan. Hantar saja mereka menggunakan borang komen di bawah dan kami akan lebih senang melihat.

Menjadi Pentadbir Sistem Bersertifikat Linux