Прежде всего, вы правы, semanage fcontext -a -t <type> <filepattern>
делая изменения файлов постоянными, добавляя их в политику - вам нужно будет пометить или restorecon -R -v <filepattern>
применить эти изменения. chcon
не изменяет политику, только контекст на диске.
Вы можете создать список отличий от вашей помеченной политики matchpathcon
, в частности:
matchpathcon -V /path/to/file
К сожалению, у него нет рекурсивной опции, возможно, из-за того, что обход дерева обходится дорого, но вы можете управлять им с помощью:
find / -exec matchpathcon -V {} \;
Однако будьте осторожны. Я считаю, что find будет проходить все монтирования файловой системы, включая файловые системы без расширенных атрибутов (xattrs), что может вызвать проблемы. Конечно, если все ваши файловые системы имеют расширенные атрибуты, проблем нет.
Когда у вас есть этот список, вы можете написать сценарий, чтобы выбрать те, которые вы будете semanage
. Однако я не знаю автоматизированного способа сделать это одним ударом.