Cara Menetapkan Senarai Kawalan Akses (ACL) dan kuota cakera untuk pengguna dan kumpulan
- 3533
- 86
- Clay Weber
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 saulgoodmanCari 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 # EXITSahkan 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.txtTetapkan 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 LinuxUntuk 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 VG00Semak 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 penggunaTetapan 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/test1Sahkan 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- « Cara Memasang Cygwin, Persekitaran Commandline Seperti Linux Untuk Windows
- Cara Menukar Parameter Runtime Kernel dengan cara yang berterusan dan tidak berterusan »