Отредактируйте свой grubenv
(обычно в / boot / grub
) и удалите recordfail
маркер. (Сбой загрузки был постоянно записан в сохраненной среде grub.)
Я сам разобрался с этим, поэтому отвечу на свой вопрос.
Ответ заключался в том, чтобы сделать обе вещи, которые я уже пробовал в OP, но использовать их вместе. Раньше я только пытался использовать audit2allow
для создания политик, а когда это не сработало, отключил эти политики и попытался создать свои собственные.
Итак, чтобы заставить его работать, сначала используйте audit2allow
для создания политики из предупреждений. ausearch -c 'traceroute' --raw | audit2allow -M my-traceroute
затем запустите semodule -i my-traceroute.pp
Затем создайте другую пользовательскую политику, которая в основном разрешает открытие необработанных IP-сокетов для пользователей, не являющихся -root-пользователями, которые необходимы для выполнения команды traceroute.
Создайте файл с именем traceroute.tt и добавьте в него следующее:
module traceroute 1.0;
require {
type httpd_t;
class capability net_raw;
class rawip_socket { getopt create setopt write read };
}
#============= httpd_t ==============
allow httpd_t self:capability net_raw;
allow httpd_t self:rawip_socket { getopt create setopt write read };
Затем выполните следующие команды (от имени пользователя root):
checkmodule -M -m -o traceroute.mod traceroute.tt
semodule_package -o traceroute.pp -m traceroute.mod
semodule -i traceroute.pp
Готово:)