Subject: Re: denial of service shell script
To: \"David Laight\" <David.Laight@btinternet.com>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: tech-kern
Date: 12/18/2001 20:03:36
> > Is it a bad local setup at mine, or a real bug?
> 
> Or just one of the many ways root can shoot himself in the foot?
> The is (probably) a limit on the number of processes a non-root
> user can have (although clearly several could gang up on the system).

I forgot to tell that I ran this script as a non root user, with a limit
on the number of processes:
$ ulimit -p
160
$ sysctl kern.maxproc
kern.maxproc = 532

I don't really understand why, the script is able to eat 501 processes
and it fills the whole table. The processes remain here when I log out,
leaving the machine in a state where root cannot even log in.

I was suggested this:
#!/bin/sh
$0 &
$0 &

This freezes the machine for a few seconds while it takes 160 processes
and then it dies, leaving the machine in a working state. This is what I
expected.

the fifo stuff result is a bit unexpected. It's probably a local setup
problem, but I'd like to understand what is wrong.

-- 
Emmanuel Dreyfus
manu@netbsd.org