Я написав службовий / єдиний бінарний додаток, який я намагаюся запустити на Fedora 24, він працює за допомогою systemd, двійковий файл розгорнутий на /srv/bot
цю службу / додаток, про який я писав, потрібно створити / відкрити / прочитати та перейменувати файли в цьому каталозі.
Я вперше почав створювати нову політику на основі SELinux: дозволити процесу створити будь-який файл у певному каталозі
але коли моєму додатку потрібно було перейменувати, на виході з'явилося попередження:
#!!!! WARNING: 'var_t' is a base type.
allow init_t var_t:file rename;
Я погуглився навколо, і я виявив, що я повинен використовувати більш конкретну мітку SELinux, ніж базовий тип, але всі приклади в Інтернеті показують вам наявні мітки від httpd / nginx / тощо.
Чи є спосіб я створити власну мітку лише для власного додатка?
Моя ідея - створити щось на зразок myapp_var_t, використовувати
semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?'
restorecon -R -v /srv/bot
і спеціальний .pp
файл, який використовуватиме цей тип
Якщо є кращий спосіб її вирішити, це теж працює.
Дякую
Оновлення
Після більшого пошуку я вважаю, що належним терміном для того, що я хочу зробити, є створення нового, types
який привів мене до
https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916
що в основному каже, біжи
sepolgen /path/to/binary
і мені вдалося отримати шаблон, який я зможу потім скомпілювати у файл pp і завантажити, все ж отримую деякі помилки, але схоже, що я ближче до того, що хочу зробити.
Якщо я змушу його працювати, я оновлю цю посаду