Cara mengatur daftar kontrol akses (ACL) dan kuota disk untuk pengguna dan grup

Cara mengatur daftar kontrol akses (ACL) dan kuota disk untuk pengguna dan grup

Daftar Kontrol Akses (juga dikenal sebagai ACLS) adalah fitur kernel Linux yang memungkinkan untuk mendefinisikan lebih banyak hak akses berbutir halus untuk file dan direktori daripada yang ditentukan oleh reguler UGO/RWX izin.

Misalnya, standar UGO/RWX Izin tidak memungkinkan untuk menetapkan izin yang berbeda untuk pengguna atau grup individu yang berbeda. Dengan ACL ini relatif mudah dilakukan, seperti yang akan kita lihat di artikel ini.

Memeriksa kompatibilitas sistem file dengan ACLS

Untuk memastikan bahwa sistem file Anda saat ini mendukung ACL, Anda harus memeriksa apakah mereka telah dipasang menggunakan opsi ACL. Untuk melakukan itu, kami akan menggunakan tune2fs untuk sistem file ext2/3/4 seperti yang ditunjukkan di bawah ini. Mengganti /dev/sda1 dengan perangkat atau sistem file yang ingin Anda periksa:

# tune2fs -l /dev /sda1 | grep "opsi pemasangan default:" 

Catatan: Dengan Xfs, Daftar kontrol akses didukung di luar kotak.

Berikut ini ext4 sistem file, kita dapat melihat bahwa ACL telah diaktifkan /dev/xvda2:

# tune2fs -l /dev /xvda2 | grep "opsi pemasangan default:" 
Periksa ACL diaktifkan pada sistem file linux

Jika perintah di atas tidak menunjukkan bahwa sistem file telah dipasang dengan dukungan untuk ACLS, kemungkinan besar karena itu noacl opsi hadir /etc/fstab.

Dalam hal ini, hapus, lepaskan sistem file, lalu pasang lagi, atau cukup reboot sistem Anda setelah menyimpan perubahan ke /etc/fstab.

Memperkenalkan ACL di Linux

Untuk mengilustrasikan cara kerja ACLS, kami akan menggunakan grup bernama pengembang dan tambahkan pengguna Walterwhite Dan Saulgoodman (Ya, saya penggemar berat yang buruk!) untuk itu.:

# GroupAdd Developers # useradd walterwhite # useradd saulgoodman # usermod -a -g pengembang walterwhite # usermod -a -g pengembang saulgoodman 

Sebelum kita melanjutkan, mari kita verifikasi bahwa kedua pengguna telah ditambahkan ke grup pengembang:

# id walterwhite # id saulgoodman 
Temukan ID Pengguna di Linux

Sekarang mari kita buat direktori yang dipanggil tes di dalam /mnt, dan file bernama ACL.txt di dalam (/mnt/test/acl.txt).

Kemudian kami akan menetapkan pemilik grup pengembang dan mengubah defaultnya UGO/RWX Izin secara rekursif 770 (Dengan demikian memberikan izin baca, tulis, dan jalankan yang diberikan kepada pemilik dan pemilik grup file):

# mkdir/mnt/test # touch/mnt/test/acl.txt # chgrp -r pengembang /mnt /tes # chmod -r 770 /mnt /test 

Seperti yang diharapkan, Anda dapat menulis ke /mnt/test/acl.txt sebagai Walterwhite atau Saulgoodman:

# su - walterwhite # echo "name my walter white">/mnt/test/acl.txt # Exit # su - Saulgoodman # echo "My Name Is Saul Goodman" >>/mnt/test/acl.TXT # EXIT 
Verifikasi aturan ACL tentang pengguna

Sejauh ini bagus. Namun, kita akan segera melihat masalah ketika kita perlu memberikan akses menulis /mnt/test/acl.txt untuk pengguna lain yang tidak ada dalam grup pengembang.

Standar UGO/RWX Izin akan mengharuskan pengguna baru ditambahkan ke grup pengembang, tetapi itu akan memberinya izin yang sama atas semua objek yang dimiliki oleh grup. Di situlah ACLS menjadi berguna.

Mengatur ACL di Linux

Ada dua jenis ACL: akses ACLS adalah (yang diterapkan pada file atau direktori), dan Default (opsional) ACLS, yang hanya dapat diterapkan ke direktori.

Jika file di dalam direktori di mana a ACL default telah ditetapkan tidak memiliki ACL sendiri, mereka mewarisi ACL default dari direktori induk mereka.

Mari Beri Pengguna Gacanepa Baca dan tulis akses ke /mnt/test/acl.txt. Sebelum melakukan itu, mari kita lihat pengaturan ACL saat ini di direktori itu dengan:

# getfacl/mnt/test/acl.txt 

Kemudian ubah ACL pada file, gunakan U: diikuti dengan nama pengguna dan : rw untuk menunjukkan izin baca / tulis:

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

Dan lari getfacl pada file lagi untuk membandingkan. Gambar berikut menunjukkan "Sebelum" Dan "Setelah":

# getfacl/mnt/test/acl.txt 
Atur ACL pada pengguna Linux

Selanjutnya, kita perlu memberi orang lain mengeksekusi izin pada /mnt/tes direktori:

# chmod +x /mnt /tes 

Perlu diingat bahwa untuk mengakses konten direktori, pengguna biasa perlu menjalankan izin pada direktori itu.

Pengguna Gacanepa sekarang harus dapat menulis ke file. Beralih ke akun pengguna itu dan jalankan perintah berikut untuk mengonfirmasi:

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

Untuk mengatur ACL default ke direktori (yang isinya akan mewarisi kecuali ditimpa sebaliknya), tambahkan D: Sebelum aturan dan tentukan direktori alih -alih nama file:

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

ACL di atas akan memungkinkan pengguna tidak ada di grup pemilik untuk membaca akses ke konten masa depan dari /mnt/tes direktori. Perhatikan perbedaan output getfacl /mnt /tes sebelum dan sesudah perubahan:

Atur Direktori ACL Default ke Linux

Untuk menghapus ACL tertentu, ganti -M dalam perintah di atas dengan -X. Misalnya,

# setfacl -x d: o /mnt /tes 

Atau, Anda juga dapat menggunakan -B Opsi untuk menghapus semua ACL dalam satu langkah:

# setfacl -b /mnt /tes 

Untuk informasi lebih lanjut dan contoh tentang penggunaan ACL, silakan merujuk ke Bab 10, seksi 2, Panduan Keamanan OpenSUSE (juga tersedia untuk diunduh tanpa biaya dalam format PDF).

Atur kuota disk Linux pada pengguna dan sistem file

Ruang penyimpanan adalah sumber lain yang harus digunakan dan dipantau dengan cermat. Untuk melakukan itu, kuota dapat diatur berdasarkan sistem file, baik untuk pengguna individu atau untuk grup.

Dengan demikian, batas ditempatkan pada penggunaan disk yang diizinkan untuk pengguna yang diberikan atau grup tertentu, dan Anda dapat yakin bahwa disk Anda tidak akan diisi dengan kapasitas oleh pengguna yang ceroboh (atau tidak disengaja).

Hal pertama yang harus Anda lakukan untuk mengaktifkan kuota pada sistem file adalah memasangnya dengan opsi USRQUOTA atau GRPQUOTA (untuk kuota pengguna dan grup, masing -masing) /etc/fstab.

Misalnya, mari kita aktifkan kuota berbasis pengguna /dev/vg00/vol_backups dan kuota berbasis grup di /dev/vg00/vol_projects.

Perhatikan bahwa UUID digunakan untuk mengidentifikasi setiap sistem file.

UUID = F6D1EBA2-9AED-40EA-99AC-75F4BE05C05A /HOME /Proyek Ext4 Default, Grpquota 0 0 UUID = E1929239-5087-44B1-9396-53E09DB6EB9E /HOME /HOME /HOME, EXTRQUS4S4S4S4S4S4S4S4S4S4S4S4B1, 

Unmount dan remount kedua sistem file:

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

Kemudian periksa apakah opsi USRQUOTA dan GRPQUOTA hadir di output mount (lihat disorot di bawah):

# mount | Grep VG00 
Periksa kuota pengguna Linux dan kuota grup

Akhirnya, jalankan perintah berikut untuk menginisialisasi dan mengaktifkan kuota:

# QuotaCheck -avugc # kuota -vu /home /cadangan # quaon -vg /home /proyek 

Yang mengatakan, mari kita berikan kuota ke nama pengguna dan kelompok yang kami sebutkan sebelumnya. Anda nanti dapat menonaktifkan kuota dengan kuota.

Mengatur Kuota Disk Linux

Mari kita mulai dengan mengatur ACL /rumah/cadangan untuk pengguna Gacanepa, yang akan memberinya baca, tulis, dan menjalankan izin pada direktori itu:

# setfacl -m u: gacanepa: rwx/home/cadangan/ 

Lalu dengan,

# edquota -u gacanepa 

Kami akan membuat yang lembut batas = 900 Dan yang sulit batas = 1000 blok (1024 byte/blok * 1000 blok = 1024000 byte = 1 mb) penggunaan ruang disk.

Kami juga dapat menempatkan batas 20 Dan 25 sebagai terbatas dan keras pada jumlah file yang dapat dibuat oleh pengguna ini.

Perintah di atas akan meluncurkan editor teks ($ Editor) Dengan file sementara di mana kami dapat menetapkan batas yang disebutkan sebelumnya:

Kuota Disk Linux untuk Pengguna

Pengaturan ini akan menyebabkan peringatan ditunjukkan kepada pengguna Gacanepa ketika dia telah mencapai 900 blok atau 20-inode Batas untuk masa tenggang default 7 hari.

Jika melebihi kuota Situasi belum dihilangkan pada saat itu (misalnya, dengan menghapus file), batas lunak akan menjadi batas keras dan pengguna ini akan dicegah menggunakan lebih banyak ruang penyimpanan atau membuat lebih banyak file.

Untuk menguji, mari kita minta pengguna gacanepa mencoba membuat kosong 2 MB file bernama test1 di dalam /rumah/cadangan:

# dd if =/dev/nol dari =/home/cadangan/test1 bs = 2m jumlah = 1 # ls -lh/home/cadangan/test1 
Verifikasi Kuota Pengguna Linux di Disk

Seperti yang Anda lihat, file operasi tulis gagal karena kuota disk telah terlampaui. Karena hanya yang pertama 1000 kb ditulis ke disk, hasil dalam kasus ini kemungkinan besar akan menjadi file yang korup.

Demikian pula, Anda dapat membuat ACL untuk grup pengembang untuk memberi anggota grup itu akses RWX /rumah/proyek:

# setfacl -m G: Pengembang: rwx/home/proyek/ 

Dan atur batas kuota dengan:

# edquota -g pengembang 

Seperti yang kami lakukan dengan pengguna Gacanepa lebih awal.

Masa tenggang dapat ditentukan untuk sejumlah detik, menit, jam, hari, minggu, atau bulan dengan mengeksekusi.

# Edquota -t 

dan memperbarui nilai di bawah Blokir masa tenggang dan masa tenggang inode.

Berbeda dengan penggunaan atau penggunaan inode (yang ditetapkan pada pengguna atau grup-basis), masa tenggang diatur di seluruh sistem.

Untuk melaporkan kuota, Anda dapat menggunakan kuota -u [pengguna] atau kuota -g [grup] untuk daftar cepat atau repquota -v [/path/to/filesystem] untuk laporan yang lebih rinci (verbose) dan diformat dengan baik.

Tentu saja, Anda ingin mengganti [pengguna], [kelompok], Dan [/path/to/filesystem] dengan nama pengguna / grup tertentu dan sistem file yang ingin Anda periksa.

Ringkasan

Dalam artikel ini kami telah menjelaskan cara mengatur Daftar Kontrol Akses dan kuota disk untuk pengguna dan grup. Menggunakan keduanya, Anda akan dapat mengelola izin dan penggunaan disk secara lebih efektif.

Jika Anda ingin mempelajari lebih lanjut tentang kuota, Anda dapat merujuk ke kuota mini-howto di proyek dokumentasi Linux.

Tak perlu dikatakan, Anda juga dapat mengandalkan kami untuk menjawab pertanyaan. Kirimkan saja menggunakan formulir komentar di bawah ini dan kami akan lebih dari senang untuk melihatnya.

Menjadi Administrator Sistem Bersertifikat Linux