Не могу скомпилировать Debian RefPolicy для SELinux
Я использую Debian 6 с включенным SELinux.
Теперь я просто хочу изменить политику по умолчанию и сделать my-policy активной политикой. Для этого я скачал refpolicy Debian и попытался скомпилировать его.
Похоже на то rolemap
файл не найден Но rolemap
определяется в Makefile.src
,
Также разбор /tmp/example.tmp
файл не удалось в 'introduce()' line:28
,
Найдите вывод команды make ниже:
debian:/opt/policy-src/debian# make -f Makefile.src all Compiling default example module echo "ifdef(\`""example""_per_role_template',\`" > tmp/example.mod.role m4
-D distro_debian -D direct_sysadm_daemon -D hide_broken_symptoms -D mls_num_sens=16 -D mls_num_cats=1024 -D mcs_num_cats=1024 -D mandatory_mcs rolemap | gawk '/^[[:blank:]]*[A-Za-z]/{ print "gen_require(type " $3 "; role " $1 ";)\nexample_per_role_template(" $2 "," $3 "," $1 ")" }' >> tmp/example.mod.role echo "')" >> tmp/example.mod.role echo "ifdef(\`""example""_per_userdomain_template',\`" >> tmp/example.mod.role echo "errprint(\`Warning: per_userdomain_templates have been renamed to per_role_templates (""example""_per_userdomain_template)'__endline__)" >> tmp/example.mod.role m4 -D distro_debian -D direct_sysadm_daemon -D hide_broken_symptoms -D mls_num_sens=16 -D mls_num_cats=1024 -D mcs_num_cats=1024 -D mandatory_mcs rolemap | gawk '/^[[:blank:]]*[A-Za-z]/{ print "gen_require(type " $3 "; role " $1 ";)\nexample_per_userdomain_template(" $2 "," $3 "," $1 ")" }' >> tmp/example.mod.role echo "')" >> tmp/example.mod.role m4 -D distro_debian -D direct_sysadm_daemon -D hide_broken_symptoms -D mls_num_sens=16 -D mls_num_cats=1024 -D mcs_num_cats=1024 -D mandatory_mcs -s tmp/all_interfaces.conf example.te tmp/example.mod.role > tmp/example.tmp /usr/bin/checkmodule -m tmp/example.tmp -o tmp/example.mod /usr/bin/checkmodule: loading policy configuration from tmp/example.tmp tmp/all_interfaces.conf":28:ERROR 'Building a policy module, but no module specification found. ' at token 'interface' on line 28: interface(myapp_domtrans,
# /usr/bin/checkmodule: error(s) encountered while parsing configuration make: *** [tmp/example.mod] Error 1
Как я мог скомпилировать эту политику?
1 ответ
Добавить свой my-policy
в refpolicy debian вы должны работать с refpolicy (исходные коды) и пакетом debian (содержит файлы примеров).
Посмотрите, как работать с исходниками Debian. Вместо make
вам следует использовать инструменты сборки Debian.
Шаг за шагом:
- Файлы исходного пакета для Debian 6 selinux-policy-default
- бежать
dpkg-source -x refpolicy_0.2.20100524-7+squeeze1.dsc
- Перейдите в каталог "refpolicy-0.2.20100524" и внесите изменения.
- создать новый пакет Debian
dpkg-buildpackage
- установить новый пакет
dpkg -i ../selinux-policy-default_0.2.20100524-7+squeeze1_all.deb