Я создаю приложение, которое должно использовать групповое связывание ключей Linux для обмена некоторыми конфиденциальными данными между процессами с разными владельцами.Всякий раз, когда я пытаюсь получить доступ к группе ключей (например, «@g» или «-6»), используя команду keyctl или базовый API, я получаю сообщение об ошибке.
Я предполагаю, что мне нужно установить некоторыесвоего рода состояние, чтобы он знал, для какой из моих групп нужно получить связку ключей, но документация по этой функции ядра редка.Кто-нибудь знает, как заставить его работать для групп?
Вызов метода (в настоящее время используется тип Python ctypes, который будет напрямую вызывать функции совместно используемой библиотеки, что прекрасно работает для всех других ключей):
>>> import ctypes
>>> keyutils = ctypes.CDLL('libkeyutils.so.1')
>>> key_id = 'foo'
>>> key_value = 'bar'
>>> keyutils.add_key('user', key_id, key_value, len(key_value), -5)
268186515
>>> keyutils.add_key('user', key_id, key_value, len(key_value), -6)
-1