以前都在rhel4.x版本上操作,遇到selinux引起的问题,解决方法比较简单:
从安装光盘里找到 :selinux-policy-targeted-sources- * .noarch.rpm (*表示的是版本号,要和本机已经安装的SElinux版本相同)
然后:
#cd /etc/selinux/targeted/src/policy
#audit2allow -d >> domains/program/xx.te (xx表示出现问题的服务,如果httpd出问题,则xx=apache)
#make load
搞定。
今天在rhel5.2平台上做一套系统,cgi不能用去,指定用记在cgi中不能sudo。查看日志是因为SELinux引起的问题,又想起用以前的方式解决,查看了一下,SELinux版本是selinux-policy-2.4.6-137.el5 ,在安装光盘里怎么也找不到对应版本的 selinux-policy-targeted-sources,上网上google了半天,丫的没有一个中文的关于这方面的文章,英文的也比较少,后来终于查到,从FC5以后,Redhat系的系统的SELinux都不再有这个包了,而是采用更简单的方法来解决这个问题:
为了方便管理,先建一个目录:
~#mkdir /etc/selinux/targeted/local_policy (此目录可位于其它位置,也可以不建些目录,为了方便管理就放到了/etc/selinux/targeted下,因为我使用SELinux的type为targeted)
~#cd /etc/selinux/targeted/local_policy
#cat /var/log/audit/audit.log | audit2allow -M local
#semodule -i local.pp
搞定了,不过我遇到一点小问题,一个类型识别不了,不过目前对使用没什么影响,后面解决了再上来吧
从安装光盘里找到 :selinux-policy-targeted-sources- * .noarch.rpm (*表示的是版本号,要和本机已经安装的SElinux版本相同)
然后:
#cd /etc/selinux/targeted/src/policy
#audit2allow -d >> domains/program/xx.te (xx表示出现问题的服务,如果httpd出问题,则xx=apache)
#make load
搞定。
今天在rhel5.2平台上做一套系统,cgi不能用去,指定用记在cgi中不能sudo。查看日志是因为SELinux引起的问题,又想起用以前的方式解决,查看了一下,SELinux版本是selinux-policy-2.4.6-137.el5 ,在安装光盘里怎么也找不到对应版本的 selinux-policy-targeted-sources,上网上google了半天,丫的没有一个中文的关于这方面的文章,英文的也比较少,后来终于查到,从FC5以后,Redhat系的系统的SELinux都不再有这个包了,而是采用更简单的方法来解决这个问题:
为了方便管理,先建一个目录:
~#mkdir /etc/selinux/targeted/local_policy (此目录可位于其它位置,也可以不建些目录,为了方便管理就放到了/etc/selinux/targeted下,因为我使用SELinux的type为targeted)
~#cd /etc/selinux/targeted/local_policy
#cat /var/log/audit/audit.log | audit2allow -M local
#semodule -i local.pp
搞定了,不过我遇到一点小问题,一个类型识别不了,不过目前对使用没什么影响,后面解决了再上来吧