Untuk mencegah bom fork, saya mengikuti http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm
ulimit -a
mencerminkan pengaturan baru tetapi ketika saya menjalankan (seperti root
dalam bash
) :(){ :|:&};:
VM masih berjalan pada CPU max + RAM dan sistem akan membeku.
Bagaimana memastikan pengguna tidak akan menjatuhkan sistem dengan menggunakan bom fork atau menjalankan aplikasi kereta?
OS: RHEL 6.4
root
kebetulan? Dari shell mana Anda mencobanya? (ruang yang hilang setelah{
menyarankanzsh
tetapi saya tidak bisa mereproduksi di sana juga).Jawaban:
Superuser atau proses apa pun dengan kapabilitas CAP_SYS_ADMIN atau CAP_SYS_RESOURCE tidak terpengaruh oleh batasan itu, itu bukan sesuatu yang dapat diubah.
root
selalu dapat melakukan proses garpu.Jika beberapa perangkat lunak tidak tepercaya, itu tidak seharusnya berjalan seperti apa adanya
root
.sumber
Untuk membuat perubahan ini meresap Anda harus menambahkan batas ini ke seluruh lingkungan. Perubahan menggunakan
ulimit
perintah hanya untuk lingkungan saat ini.CATATAN: Ini tidak akan berpengaruh pada pengguna root!
Contoh
Edit file ini:
vi /etc/security/limits.conf
dan tambahkan entri ke file yang membatasi jumlah proses (nproc
) yang boleh dimiliki oleh pengguna atau grup pengguna tertentu.CATATAN: Ada lebih banyak contoh dalam file itu. Hati-hati menggunakan "semua" (alias.
*
) Ini juga akan membatasi akun sistem.Referensi
sumber
pam_limits
.pam_limits
pada akhirnya akan digantikan oleh yang begitu cgroup mendapatkan adopsi yang lebih luas.cgroups
akan memberi mereka tombol yang lebih baik untuk pemanfaatan jaringan dan CPU.