cannot restore segment prot after reloc:Permission denied解决

在 apache加载其他.so 的时候
 
环境:Linux localhost.localdomain 2.6.18-92.el5PAE 
apache2+php4整合完毕后启动apache 时报错 
root@localhost fgn]# /usr/local/apache/bin/apachectl restart 
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp4.so into server: /usr/local/apache/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied 
解决:   www.2cto.com  
临时改变:
       这是因为SELINUX的问题,需要关闭SELINX,执行:/usr/sbin/setenforce 0 
永久改变:
      编辑/etc/selinux/config,找到这段:
      # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:
      # enforcing - SELinux security policy is enforced.
      # permissive - SELinux prints warnings instead of enforcing.
      # disabled - SELinux is fully disabled.
      SELINUX=enforcing 

      把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:
      SELINUX=disabled
      保存,关闭。
      
      编辑/etc/sysconfig/selinux,找到:
      # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:
      # enforcing - SELinux security policy is enforced.
     # permissive - SELinux prints warnings instead of enforcing.
      # disabled - SELinux is fully disabled.
      SELINUX=enforcing 

      如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
     SELINUX=disabled
     保存,退出。
 
 
如果以上都不行:
     -------------------------------------------------------------------------------------
在你保证SElinux 被disable后.还执行下
chcon -t texrel_shlib_t 
如: chcon -t texrel_shlib_t /路径/路径/名字.so   (这个文件视具体执行文件.)

以上两步.已经解决了很多server的问题了.
 

分享到: 微信 更多