Я хотел бы создать новый контекст из моего модуля SELinux (написанного с использованием синтаксиса CIL), который затем будет использоваться для файла журнала моего приложения, поэтому logrotate сможет получить к нему доступ. Однако, когда я пытаюсь semodule -i
файл со следующим содержимым:
(type indico_log_t) (typeattributeset file_type (indico_log_t)) (typeattributeset logfile (indico_log_t)) (filecon "/opt/indico/log/.*\.log" any (system_u object_r indico_log_t ((s0)(s0))))
Я получаю эту ошибку:
Type indico_log_t is invalid for role object_r Invalid context Invalid filecon at /etc/selinux/targeted/tmp/modules/400/indico-new/cil:5 Failed to verify cil database Failed to verify cil database semodule: Failed!
Я что-то делаю неправильно? Есть ли другой способ создания нового типа, который можно использовать для файла?
FWIW, если я удалю последнюю строку, я смогу установить модуль, но chcon
не принимает тип ( chcon: invalid context: indico_log_t
).
Вам нужно использовать ролей, чтобы тип мог ассоциироваться с ролью.
(roletype object_r indico_log_t)