小樱 发表于 2014/7/8 23:07

Linux版SElinux的相关设置,解决安全狗无法安装的问题。

[说明]
(1)如果您的系统中开启了SElinux,网站安全狗安装后,重启apache时可能会失败,并给出Permission denied错误。如下内容是解决此问题的方案,并不是网站安全狗的功能。若您的系统中并没有开启SElinux,或重启apache并没有失败,请略过以下内容。
(2)查看是否开启SElinux的命令:getenforce
如果运行结果为Enforcing,表示SElinux正在运行,并会限制相关程序的资源访问权限。
如果运行结果为Permissive,表示SElinux正在运行,但不会限制程序的资源访问权限。
如果运行结果为Disabled,表示SElinux被关闭。
只有在Enforcing状态下,重启apache时才会报Permission denied的错误。请参考如下解决方案。

[解决方案]
解决方案一、关闭SElinux(推荐)。
打开文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重新启动系统。
解决方案二、设置httpd对网站安全狗文件的SElinux相关访问权限。
在开始之前请确保您已安装了setroubleshoot服务,并已经启动了这项服务。
(1)当重启apache失败并提示Permission denied的错误时,运行命令:
    cat /var/log/messages|grep setroubleshoot
    运行结果类似于下边这样:
    Jan 10 15:09:46 localhost setroubleshoot:SELinux is preventing httpd from
loading /usr/lib/libSPModule.so.0.0.0 which requires text relocationl.For
complete SELinux messages. run sealert -1 d4365f9-7a80-4928-9dd0-6447aebb0b2b
(2)根据上面的输出提示中的run sealert -1 d4365f9-7a80-4928-9dd0-6447aebb0b2b,运行   命令:sealert -1 d4365f9-7a80-4928-9dd0-6447aebb0b2b
(3)上面这条命令的输出结果中会详细描述该错误产生的原因,解决方法及相应的附加信息等内容。您只
需按照解决方法中的指示操作即可解决问题。例如:上面的输出结果中会有如下两栏:
以下命令将允许这个权限:
chcon –t textrel_shlib_t ‘/usr/lib/libSPModule.so.0.0.0’
你只需运行命令:chcon –t textrel_shlib_t ‘/usr/lib/libSPModule.so.0.0.0’即可。
注意:如果有多个错误,您需要重复步骤(2)和(3)多次。
解决方案三、用命令httpd –k restart 重启apache。此方案不一定在所有机器上都起用。


对抗心痛 发表于 2014/7/8 23:07

页: [1]
查看完整版本: Linux版SElinux的相关设置,解决安全狗无法安装的问题。