2010-09-18 7 views
8

J'utilise l'implémentation Linux POSIX mqueue et j'ai un problème. Pour le noyau actuel, la taille maximale du message est de 1 Mo, mais je n'ai pas de limite.Comment exécuter un processus avec CAP_SYS_RESOURCE

man mq_overview indique que si le processus est privilégié (un processus qui a la capacité CAP_SYS_RESOURCE) il n'a aucune limite. Je pensais qu'un processus exécuté par root était déjà privilégié, mais je reçois toujours l'erreur "message too long" (mon message a 2MB). Comment ajouter la capacité CAP_SYS_RESOURCE au processus?

Répondre

3

vous pouvez modifier le plafond de la taille maximale des messages sur ce fichier/proc/sys/fs/mqueue/msgsize_max J'espère que cela fonctionne

7

Je ne sais pas s'il est possible de le définir sur un processus en cours (je suppose que non) mais vous pouvez accorder la capacité CAP_SYS_RESOURCE à un fichier exécutable en utilisant # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable (en tant que super utilisateur). Dans cet exemple, le +ep se transforme en augmenter la capacité CAP_SYS_RESOURCE pour être autorisé et efficace. Cependant, les pages de manuel capabilities(7) et setcap(8) sont des sources utiles pour plus d'informations.

Questions connexes