Ich verwende Linux POSIX mqueue-Implementierung, und ich habe ein Problem. Für den aktuellen Kernel ist die maximale Nachrichtengröße 1 MB, aber ich muss keine Begrenzung haben.
man mq_overview
sagt, dass wenn der Prozess privilegiert ist (ein Prozess, der CAP_SYS_RESOURCE
capability hat) hat keine Grenzen.
Ich dachte, dass ein Prozess, der von root ausgeführt wurde, bereits privilegiert war, aber ich bekomme immer noch den Fehler "Nachricht zu lang" (meine Nachricht hat 2MB).
Wie kann ich CAP_SYS_RESOURCE
Fähigkeit zum Prozess hinzufügen?
Ich weiß nicht, ob es möglich ist, es auf einen laufenden Prozess zu setzen (ich denke nicht), aber Sie können die CAP_SYS_RESOURCE-Fähigkeit einer ausführbaren Datei mit # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable
(als Superuser) gewähren.
In diesem Beispiel erhöht +ep
die Kapazität von CAP_SYS_RESOURCE
, um zulässig und effektiv zu sein. Die Manpages capabilities(7)
und setcap(8)
sind jedoch nützliche Quellen für weitere Informationen.
Tags und Links posix linux-capabilities