Работают ли возможности Linux с binfmt_misc?

Я потенциально заинтересован в использовании возможностей Linux для программы (в частности, cap_net_bind_service разрешить привязку программы к порту TCP менее 1024).

Тем не менее, я хотел бы сделать это для программы на C#, работающей под Mono. Обычно, я думаю, это означало бы, что самому интерпретатору Mono нужно было бы установить возможности, а не whatever.exe Программа, которую он запускает.

Тем не менее, Linux также может иметь поддержку двоичного ядра Mono через механизм ядра binfmt_misc.

Итак, работает ли механизм ядра binfmt_misc с возможностями? То есть, чтобы конкретный исполняемый файл с поддержкой binfmt_misc мог работать с определенным набором возможностей.

1 ответ

Обычно, я думаю, это означало бы, что самому интерпретатору Mono нужно было бы установить возможности [...]

Было бы невозможно исключить binfmt_misc, если вы установите возможности для рассматриваемого дерева процессов, а не для файлов.

Смотрите cap_set_proc() и инструменты для манипулирования им. Например, если вы использовали systemd:

[Service]
ExecStart=/usr/bin/mono /path/to/your/executable.exe
User=your_service_account
Capabilities=CAP_NET_BIND_SERVICE
Другие вопросы по тегам