2010-09-18 10 views
8

Sto usando un'implementazione di Linux POSIX mqueue e ho un problema. Per il kernel corrente, la dimensione massima del messaggio è 1 MB, ma non ho bisogno di limiti.Come eseguire un processo con CAP_SYS_RESOURCE

man mq_overview dice che se il processo è privilegiato (un processo che ha la capacità di CAP_SYS_RESOURCE) non ha limiti. Ho pensato che un processo eseguito da root fosse già privilegiato, ma ricevo ancora l'errore "messaggio troppo lungo" (il mio messaggio ha 2 MB).

Come è possibile aggiungere la capacità CAP_SYS_RESOURCE al processo?

risposta

3

è possibile modificare il soffitto della dimensione massima dei messaggi su questo file/proc/sys/fs/mqueue/msgsize_max Spero che funzioni

7

Non so se è possibile impostarlo su un processo in esecuzione (suppongo di no) ma puoi concedere la capacità CAP_SYS_RESOURCE a un file eseguibile usando # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable (come superutente). In questo esempio lo +ep si riduce in alzare la capacità di CAP_SYS_RESOURCE per essere consentito ed efficace. Tuttavia le pagine man capabilities(7) e setcap(8) sono fonti utili per ulteriori informazioni.