Назад | Перейти на главную страницу

Доступ для чтения файла Centos 6.3 PERL CGI selinux

У меня есть сценарий CGI под названием index.cgi

Он пытается прочитать файл журнала с именем 10.128.0.242.2012.sep.20.downloaded.txt под тропой /var/log/trafcount/

Похоже, что он заблокирован selinux.

Журнал аудита показывает что-то вроде

type = AVC msg = audit (1348158321.873: 1472116): avc: denied {read} для pid = 11620 comm = "index.cgi" name = "10.128.0.242.2012.sep.20.downloaded.txt" dev = dm- 0 ino = 395264 scontext = unlimited_u: system_r: httpd_sys_script_t: s0 tcontext = unlimited_u: object_r: var_log_t: s0 tclass = file

Как я могу разрешить этому сценарию полный доступ ко всем файлам в / var / log / trafcount?

Один из способов - использовать команду chcon со следующим:

chcon -Rv --type=httpd_sys_content_t /var/log/trafcount

Это даст вам доступ при перезагрузке, но не при перемаркировке SELinux. В конечном итоге я бы предложил создать собственный тип и создать для него правило в SELinux, чтобы и / var / log, и Apache могли продолжать его использовать.

Источник: http://wiki.centos.org/HowTos/SELinux (Там много отличных вещей о SELinux под CentOS)