SELinux блокирует getty от чтения / etc / issue

264
the_rover

Недавно я изменил свое имя хоста, и после перезагрузки с новым именем хоста / etc / issue перестало отображаться на экране входа в систему. Я временно отключил selinux, и снова появился файл / etc / issue. После повторного включения selinux файл / etc / issue снова перестал отображаться. Может кто-нибудь сказать мне, что происходит и как это исправить?

Благодарю.

0

1 ответ на вопрос

1
nKn

Ну, самый простой способ - отключить SELinux, но я не рекомендую:

setenforce 0 

Или вы можете создать правило, позволяющее ему писать, выполнять или делать то, что ему нужно, и пока оно заблокировано. Для этого проверьте файл системного журнала и скопируйте строку, которая «запрещена», она должна выглядеть примерно так:

audit(...): avc: denied { write } for pid=27984 comm="hostname" name="hostname" dev=sda6 ino=307469 scontext=root:system_r:system_r:s0 tcontext=system_u:object_r:usr_t:s0 tclass=... 

Скопируйте его и выполните следующую команду:

audit2allow -M local << _EOF_ (paste the content) _EOF_ 

Затем запустите:

semodule -i local.pp 

Это создаст для него постоянное правило, поэтому вам не нужно отключать SELinux. Даже если у вас есть более одной deniedстроки, вы можете вставить их все сразу и audit2allowсгенерировать столько правил, сколько вам нужно в вашем local.ppфайле.

Этот способ фактически предотвращает отказ AVC, однако он не отвечает на вопрос «почему файл получил плохой контекст?». Сначала: ls -lZ / etc / issue и проверьте в журнале аудита точное сообщение AVC. Затем измените контекст файла, используя restorecon или chcon, чтобы соответствовать ожидаемому контексту SELinux. tonioc 8 лет назад 0
Мне нравится ваш ответ, но я очень мало знаю о SELinux. Что такое -lZ? the_rover 8 лет назад 0

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