El 6/05/05, Santiago Vila<[EMAIL PROTECTED]> escribi�:
> On Fri, 6 May 2005, Jos� Luis Pati�o Andr�s wrote:
>
> > El vie, 06-05-2005 a las 10:36 +0200, Urizev escribi�:
> > > Hola chicos, como puedo evitar que el comando siguiente no tueste
> > > el ordenador.
> > >
> > > $ :(){ :|:& };:
> >
> > Por cierto, no puedo resistir la curiosidad... �de d�nde has sacado eso?
> > �sirve para algo? �qu� es lo que hace?
>
> Lo que hace es definir una funci�n de shell llamada `:' y luego
> (de ah� el punto y coma) ejecutar dicha funci�n. La funci�n es
> recursiva y de ah� viene el desastre. En bash(1) hay informaci�n sobre
> las funciones de shell, por si a alguien le interesa.
>
> > Prueba con un alias a ver si puedes cambiar la acci�n de ese 'comando'.
>
> Poner alias no servir� de mucho. Cualquier usuario puede quitar un
> alias con "unalias", pero incluso si no pudiera, siempre podr�a
> definir lo anterior con otro nombre que no sea `:', por ejemplo:
>
> a(){ a|a& };a
>
> (bueno, *supongo* que funcionar�a igual, pero la verdad es que no lo
> he probado :-)
>
>
La soluci�n es la misma que se comentaba hace un par de meses a ra�z
de un art�culo sobre una forkbomb (esto creo que viene actuando de la
misma manera): hay un archivo, limits.conf, en /etc/security/, con una
serie de par�metros como el uso m�ximo de memoria, el n�mero m�ximo de
procesos... Habr�a que editar ese archivo con m�s o menos cuidado, de
modo que en cuanto el comando que pones ah� llegase a su l�mite, el
bash lo matase. El caso es saber qu� l�mites son los adecuados, pero
eso es algo que puedes calcular mediante "prueba y error". Venga,
suerte, y ya nos contar�s qu� l�mites impones.