11
votes

Comment exécuter un processus avec CAP_SYS_RESOURCE

J'utilise la mise en œuvre de Linux Posix MQUESUE, et j'ai un problème. Pour le noyau actuel, la taille de message maximum est de 1 Mo, mais je n'ai besoin de pas de limite.

Man MQ_Overview dit que si le processus est Privilège (processus qui a CAP_SYS_RESOURCE CAPACITÉ) Il n'a aucune limite. Je pensais qu'un processus exécuté par root était déjà privilégié, mais je reçois toujours une erreur de "message trop longue" (mon message a 2 Mo).

Comment puis-je ajouter cap_sys_resource Capacité au processus?


0 commentaires

3 Réponses :


1
votes

Essayez l'option RLIMIT_MSGQUQUEUE EN FONCTION: INT SETRLIMIT (INT RESSOURCE, CONSTATRY RLIMIT * RLIM);

Homme Page: http: // www.kernel.org/doc/man-pages/online/pages/man2/setrlimit.2.html

:)


1 commentaires

Je me suis mis avec rlim_infinity et j'ai toujours un "message trop long" = /



3
votes

Vous pouvez modifier le plafond de la taille maximale du message sur ce fichier / proc / sys / fs / msgsize_max J'espère que ça marche


0 commentaires

8
votes

Je ne sais pas s'il est possible de la définir à un processus en cours d'exécution (je suppose non), mais vous pouvez accorder la capacité CAP_SYS_RESOURCE à un fichier exécutable à l'aide de # SETCAP 'CAP_SYS_RESOURCE = + EP' / PATH / à / exécutable (comme super utilisateur). Dans cet exemple, le + ep diminue en augmentation du cap_sys_resource la capabilité à autoriser et efficace. Cependant, les pages de l'homme fonctionnalités (7) et setcap (8) sont des sources utiles pour plus d'informations.


0 commentaires