Разрешение SELinux отклонено Python3.3 CentOS 6.5

У меня с этим туго. Я пытаюсь получить репозиторий GIT через Apache, и у меня возникают ошибки, которые, похоже, связаны с SELinux. Я новичок в SELinux. Мне нужна помощь в расшифровке вывода в журнале аудита. Я видел предложение установить SELinux в разрешающий режим, чтобы фиксировать ошибки, а затем запустить его с помощью команды для создания профиля SELinux для этой операции. Мне нужна помощь в построении команды из вывода. Мой сервер Apache вызывает скрипт Python CGI. Вот вывод журнала аудита:

    type=AVC msg=audit(1424300724.345:67): avc:  denied  { execute } for  pid=2306 comm="python3.3" path=2F746D702F666669316F59336968202864656C6574656429 dev=dm-0 ino=266176 scontext=unconfined_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:object_r:httpd_sys_rw_content_t:s0 tclass=file
type=SYSCALL msg=audit(1424300724.345:67): arch=c000003e syscall=9 success=yes exit=140223631540224 a0=0 a1=1000 a2=5 a3=1 items=0 ppid=2303 pid=2306 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="python3.3" exe="/usr/local/bin/python3.3" subj=unconfined_u:system_r:httpd_sys_script_t:s0 key=(null)

person Community    schedule 19.02.2015    source источник


Ответы (2)


Я также новичок в SELinux, однако я узнал, что для сценариев CGI ваши файлы должны иметь атрибут TYPE, установленный на httpd_sys_script_exec_t ~ см. эту ссылку

Вы можете использовать команду semanage fcontext для установки сценариев CGI с требуемым типом. ссылка на semanage

Я считаю, что вы бы запустили что-то вроде этого:

semanage fcontext -a -t httpd_sys_script_exec_t  "file.py"

Пожалуйста, проверьте руководства для подтверждения/разъяснения любого из вышеперечисленного.

С уважением, Виктор.

person Basil Bear    schedule 27.02.2015

Я знаю два способа решения проблемы, если первый не работает, попробуйте второй:

Первый: вам нужно просмотреть журналы Selinux, чтобы распечатать все ошибки, связанные с python:

sudo cat /var/log/audit/audit.log | grep python | grep denied

мы собираемся использовать audit2allow, чтобы исправить проблему. Вам нужно установить policycoreutils-python через yum, если у вас его нет.

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

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mypython
sudo semodule -i mynginx.pp

Второй представлен здесь здесь.

ВАШЕ ЗДОРОВЬЕ!

person skip87    schedule 10.03.2015