SELinux: изменение файлов вручную в / etc / selinux / target / context / files /

Я настраиваю сервер CentOS 7, на котором каталог / home должен находиться в другом разделе, а затем монтироваться с помощью bind-mount. Так: / data / homes должен быть подключен к / home .

Проблема заключается в том, чтобы убедиться, что контексты SELinux применяются правильно. Действительно, следующие команды дают противоречивые результаты:

# Applies the rules for /home to all the files
restorecon -R -v /home
# Applies the generic rules (standard files) to all the files
restorecon -R -v /data/homes

Это вызывает проблемы, если системе необходимо изменить метку файлов.

Чтобы решить эту проблему, я изменил файл политики / etc / selinux / target / context / files / file_contexts.homedirs путем копирования всех правил также для / data / homes :

$ sed -n '/^\/home/p' /etc/selinux/targeted/contexts/files/file_contexts.homedirs \
  | sed 's/^\/home/\/data\/homes/' \
  >> /etc/selinux/targeted/contexts/files/file_contexts.homedirs

Однако, когда политика перестраивается с помощью semodule -B , мои изменения потеряны.

Я знаю, что рекомендуемый способ изменения этих файлов - использовать semanage fcontext , но в целом есть почти 200 правил, которые мне нужно добавить, и запустить semanage для каждый не подходит.

Как я могу вручную изменить файлы в / etc / selinux / target / context / files / file_contexts и гарантировать, что изменения сохраняются?

5
задан 29 January 2016 в 04:54
1 ответ
semanage fcontext -a -t <file_context> "<path>/<file>(/.*)?"
restorecon -R <path>/<file>

позволяет добавлять контексты ко многим файлам рекурсивно и постоянно. Я не уверен, пробовали ли вы это. Можете ли вы привести несколько примеров правил, которые вы пытаетесь установить и на каких файлах, чтобы мы могли увидеть, что выполнимо для ваших нужд?

.
1
ответ дан 3 December 2019 в 02:02

Теги

Похожие вопросы