2010-09-18 15 views
8

Estoy usando la implementación de Linux POSIX mqueue, y tengo un problema. Para kernel actual, el tamaño máximo de mensaje es 1MB, pero no necesito tener límite.Cómo ejecutar un proceso con CAP_SYS_RESOURCE

man mq_overview dice que si el proceso es privilegiado (un proceso que tiene la capacidad CAP_SYS_RESOURCE) no tiene límites. Pensé que un proceso ejecutado por root ya tenía privilegios, pero aún recibo un error de "mensaje demasiado largo" (mi mensaje tiene 2MB).

¿Cómo puedo agregar capacidad CAP_SYS_RESOURCE al proceso?

Respuesta

3

puede cambiar el límite máximo para el tamaño máximo de mensaje en este archivo/proc/sys/fs/mqueue/msgsize_max espero que funcione

7

No sé si es posible establecerlo en un proceso en ejecución (supongo que no), pero puede otorgar la capacidad CAP_SYS_RESOURCE a un archivo ejecutable usando # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable (como superusuario). En este ejemplo, el +ep se desactiva para aumentar la capacidad de CAP_SYS_RESOURCE de ser permitido y efectivo. Sin embargo, las páginas man capabilities(7) y setcap(8) son fuentes útiles para obtener más información.

Cuestiones relacionadas