open-files – ulimit: diferencia entre límites duros y blandos

Pregunta:

¿Cuál es la diferencia entre límites duros y blandos en ulimit?

Para el número de archivos abiertos, tengo un límite flexible de 1024 y un límite estricto de 10240. Es posible ejecutar programas que abran más de 1024 archivos. ¿Para qué sirve el límite blando?

Respuesta:

Un límite estricto solo puede ser elevado por root (cualquier proceso puede reducirlo). Por tanto, es útil para la seguridad: un proceso no root no puede sobrepasar un límite estricto. Pero es un inconveniente porque un proceso no root no puede tener un límite más bajo que sus hijos.

El proceso puede cambiar un límite flexible en cualquier momento. Por lo tanto, es conveniente siempre que los procesos cooperen, pero no es bueno para la seguridad.

Un caso de uso típico para los límites suaves es deshabilitar los volcados de núcleo ( ulimit -Sc 0 ) mientras mantiene la opción de habilitarlos para un proceso específico que está depurando ( (ulimit -Sc unlimited; myprocess) ).

El ulimit shell setrlimit es un envoltorio de la setrlimit sistema setrlimit , así que ahí es donde encontrará la documentación definitiva.

Tenga en cuenta que es posible que algunos sistemas no implementen todos los límites. Específicamente, algunos sistemas no admiten límites por proceso en descriptores de archivo (Linux sí); si el tuyo no lo hace, el comando de shell puede no ser operativo.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım