SELinux предотвращает запуск Java - PullRequest
2 голосов
/ 09 февраля 2010

Я недавно установил Sun Java в системе с достаточно простой установкой SELinux.

Я использую Debian Etch и установил пакет Sun Java из репозитория несвободных пакетов.

Вот уведомления об ошибках, которые появляются в системном журнале, когда я запускаю java -version.

`9 февраля 14:02:40 dev ядро: аудит (1265742160.570: 4107): avc: отказано {execmem} для pid = 9882 comm =" java "scontext = user_u: system_r: не определено_t: s0 tcontext = user_u: system_r : undefined_t: s0 tclass = process

9 февраля 14:02:40 dev ядро: аудит (1265742160.578: 4108): avc: отказано {execmem} для pid = 9882 comm = "java" scontext = user_u: system_r: не определено_t: s0 tcontext = user_u: system_r: undefined_t: s0 tclass = process`

Я погуглил, и мне кажется, что мне нужно создать политику SELinux, которая позволяет Java выполнять операции, которые нарушают ограничения execmem. Это правильное предположение? Если да, то как мне начать?

Обновления:

Я искал и нашел целевую политику, направленную на обработку Java. Я установил его с помощью следующей команды:

$ sudo semodule -i /usr/share/selinux/refpolicy-targeted/java.pp

Однако это не помогло. Я продолжаю видеть идентичные сообщения аудита в системном журнале.

1 Ответ

2 голосов
/ 09 февраля 2010

Это руководство: http://etbe.coker.com.au/2006/12/08/se-linux-on-debian-in-5-minutes/ и dgrift на #selinux подсказали мне правильное решение.

# semodule -i /usr/share/selinux/refpolicy-targeted/java.pp
# restorecon -r -v /usr

Существует целевая политика, доступная для Java, которая должна применяться с использованием semodule. После применения политики необходимо использовать restorecon для применения политики к двоичным файлам Java.

...