Почему syslog-ng не может запуститься с SELinux TYPE syslogd_exec_t?
У меня установлен syslog-ng в системе CentOS 5.7 с применением SELinux.
я не могу запустить службу syslog-ng с помощью "service syslog-ng start" из-за ошибки:
[root@localhost ~]# service syslog-ng start
Starting syslog-ng:
GThread-ERROR **: file gthread-posix.c: line 135 (): error 'Operation not permitted' during 'pthread_getschedparam (pthread_self(), &policy, &sched)'
aborting...
[FAILED]
Я проверил Google и получить, как показано ниже:
This is probably related to your SELinux policy, which does not allow syslog-ng get the scheduler parameters.
и я могу видеть тип SELinux по
[root@localhost ~]# ls -lZ /sbin/syslog*
-rwxr-xr-x root root system_u:object_r:syslogd_exec_t /sbin/syslogd
-rwxr-xr-x root root system_u:object_r:syslogd_exec_t /sbin/syslog-ng
но с тем же типом SELinux "syslogd_exec_t", syslogd может быть запущен с помощью "запуска syslog службы", почему SELinux не может разрешить запуск syslog-ng? я думаю, что все они должны получить "параметр планировщика".
и как я могу сделать syslog-ng работает с SELinux типа "syslogd_exec_t", потому что, естественно, все они работают для механизма syslog.
спасибо EM
1 ответ
Посмотрите /var/log/audit/audit.log, чтобы увидеть, какие действия (если таковые имеются) были отклонены SE Linux.
Если в SE Linux отказано в доступе, то для создания политики, разрешающей эти действия, можно использовать команду "audit2allow". Не допускайте вслепую всех операций, просто разрешите те, которые кажутся актуальными.