CentOS 7: Вложенные правила SELinux

CentOS 7: Вложенные правила SELinux

Итак, теперь, когда явыяснил, что .sshфайлам нужен ssh_home_tфайловый контекст, теперь мне нужно разобраться, как вкладывать правила SELinux.

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

  1. /exports/home/$USERУстановите для каждого каталога соответствиеnfs_t безтакже соответствие любым подкаталогам в $USER. Это сообщает моему NFS-серверу, что домашние каталоги могут быть законно экспортированы.
  2. Установить все, что соответствует /exports/home/$USER/.*... чему-то? Вот где был бы полезен полный список с описаниями. Имеет ли SELinux файловый контекст, который обычно обозначает файлы в домашнем каталоге пользователя?
  3. Установить все в соответствии/exports/home/$USER/\.ssh(/.*) толькона ssh_home_t, поэтому SSHD может разрешить использование authorized_keys.

Мне нужно вызвать все три правила с сервера NFS. И мне нужно вызвать второе и третье правилакак индивидуальный пользовательна файлах этого отдельного пользователя с любого хоста, монтирующего домашний каталог. Потому что, очевидно, я надеюсь, что я буду раздавливать root на любом хосте, который монтирует один из этих домашних каталогов. Пользователь, скорее всего, будет создавать файлы, включая файлы ssh, с хоста, который не является сервером NFS.


ОБНОВЛЯТЬ

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

# semanage fcontext -a nfs_t '<regexp 1>'

# semanage fcontext -a user_home_t '<regexp 2>'

# semanage fcontext -a ssh_home_t '<regexp 3>'

где

  • <regexp 1>ловит /exports/home/$USERи дальше не идет.
  • <regexp 2>ловит/exports/home/$USER\.* за исключением exports/home/$USER/\.ssh(/.*)?.
  • <regexp 3>ловит exports/home/$USER/\.ssh(/.*)?.

и $USERне зависит от строк (т.е. от любого пользователя), иРасширенные регулярные выражения POSIXпо-видимому, запрещено.

решение1

Простой, но ошеломляющий ответ:

SELinux уже имеет правило по умолчанию для `/export/home/*. Просто уберите "s" и все будет исправлено.

Связанный контент