Saya baru menyadari bahwa sistem saya tidak membatasi jumlah proses per pengguna dengan benar sehingga tidak mencegah pengguna melakukan bom fork dan menabrak seluruh sistem:
user@thebe:~$ cat /etc/security/limits.conf | grep user
user hard nproc 512
user@thebe:~$ ulimit -u
1024
user@thebe:~$ :(){ :|:& };:
[1] 2559
user@thebe:~$ ht-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
...
Connection to thebe closed by remote host.
Apakah ini bug atau mengapa ia mengabaikan batas limits.conf
dan mengapa tidak menerapkan batas yang ulimit -n
mengklaimnya?
PS: Saya benar-benar tidak berpikir batas memori mengenai sebelum batas proses. Mesin ini memiliki ram 8GB dan hanya menggunakan 4% saja pada saat saya menjatuhkan bom fork.
EDIT:
Saya berhasil mereproduksi ini di live CD. Jadi saya kira ini pasti bug. Ini pada dasarnya berakhir dengan membunuh semua proses, termasuk sistem hal-hal penting seperti X11, SSHD dll.
Setiap pengguna dapat merusak sistem.
user@thebe:~$ ulimit -u
1024
ulimit -u
saya mendapatkan 31325. Ketika saya menjalankannya ulimit -u 512
pergi 512. Ketika saya menjalankan bom garpu itu, sisa dari sistem saya baik-baik saja.
ulimit -u