Не срабатывает политика SELinux. Что делать?

Аватар пользователя admin

Иногда бывает, что при включенном SELinux вы создаёте политику, дающую дополнительные разрешения нужной вам программе, однако эта политика не срабатывает! В этом случае, если вам необходим SELinux остаётся лишь отключить модуль SELinux, отвечающий за работу с вашей программой.

Рассмотрим ситуацию на примере awstats. Мне понадобилось сделать так, чтобы awstats писал файлы статистики в определённый подкаталог домашнего каталога пользователя. Несмотря на то, что все права были даны и была написана политика для SELinux, awstats отказывался писать файлы в нужное мне место - permission denied. Никаких ошибок в /var/log/audit/audit.log также не было. Тогда я принял решение выключить модуль SELinux, работающий с awstats. Для начала, нужно получить список имеющихся работающих модулей SELinux. Это делается командой:

# semodule -l


вы получите длинный список, выглядящий приблизительно так (даны только начальные позиции):

abrt    1.4.1    
accountsd    1.1.0    
acct    1.6.0    
afs    1.9.0    
aiccu    1.1.0    
aide    1.7.1    
ajaxterm    1.0.0    
alsa    1.12.2    
amanda    1.15.0    
amtu    1.3.0    
anaconda    1.7.0    
antivirus    1.0.0    
apache    2.7.2    
apcupsd    1.9.0    
apm    1.12.0    
application    1.2.0    
arpwatch    1.11.0    
asterisk    1.12.1    
auditadm    2.2.0    
authconfig    1.0.0    
authlogin    2.5.1    
automount    1.14.1    
avahi    1.14.1    
awstats    1.5.0
....  


Как видим, в списке присутствует модуль awstats с версией 1.5.0. Версия нам в данном случае не нужна, а выключение модуля делается командой:

# semodule -d awstats


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

Если вы когда-либо захотите снова включить данный модуль, то вы можете легко это сделать командой:

# semodule -e awstats

 

0
Ваш рейтинг: Нет