今天在CentOS5.2上安装完Apache发现无法启动,报错如下:
Cannot load /opt/modules/apache/modules/libphp5.so cannot restore segment prot after reloc: Permission denied
有方法说是把SELinux禁掉,具体方法是编辑/etc/selinux/config和/etc/sysconfig/selinux文件,将SELINUX设置为disabled:
SELINUX=disabled
但我设置后没起作用,不深究。
最终使用chcon命令搞定的:
chcon -t texrel_shlib_t /路径/路径/名字.so (这个文件视具体执行文件)
chcon命令介绍:
chcon:
修改对象(文件)的安全上下文
命令格式:
Chcon [OPTIONS…] CONTEXT FILES…..
Chcon [OPTIONS…] –reference=PEF_FILES FILES…
说明:
CONTEXT 为要设置的安全上下文
FILES 对象(文件)
--reference 参照的对象
PEF_FILES 参照文件上下文
FILES 应用参照文件上下文为我的上下文。
OPTIONS 如下:
-f 强迫执行
-R 递归地修改对象的安全上下文
-r ROLE 修改安全上下文角色的配置
-t TYPE 修改安全上下文类型的配置
-u USER 修改安全上下文用户的配置
-v 显示冗长的信息
chcon --help
Usage: chcon [OPTION]... CONTEXT FILE...
or: chcon [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...
or: chcon [OPTION]... --reference=RFILE FILE...
Change the security context of each FILE to CONTEXT.
-c, --changes like verbose but report only when a change is made
-h, --no-dereference affect symbolic links instead of any referenced file
(available only on systems with lchown system call)
-f, --silent, --quiet suppress most error messages
--reference=RFILE use RFILE's group instead of using a CONTEXT value
-u, --user=USER set user USER in the target security context
-r, --role=ROLE set role ROLE in the target security context
-t, --type=TYPE set type TYPE in the target security context
-l, --range=RANGE set range RANGE in the target security context
-R, --recursive change files and directories recursively
-v, --verbose output a diagnostic for every file processed
--help display this help and exit
--version output version information and exit
分享到:
相关推荐
error :/usr/lib/libjvm.so: cannot restore segment prot after reloc: Permission denied . use the command: chcon -t textrel_shlib_t /usr/lib/libjvm.so 这是官方的提示 简单的做法是 setenforce 0 ok,java...
在尝试运行 SQL Plus 工具时,可能会遇到一个错误提示:“cannot restore segment prot after reloc: Permission denied”,这通常发生在尝试加载 Oracle 的客户端库 `libclntsh.so.11.1` 时。此错误表明系统拒绝了...
具体错误信息为:“sqlplus:error while loading shared libraries:/u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1:cannot restore segment prot after reloc: Permission denied”。本篇文章将...
4. 如果出现“./xrgsu: error while loading shared libraries: /usr/lib/libpcap.so.0.6.2: cannot restore segment prot after reloc: Permission denied”的问题,需要编辑/etc/sysconfig/selinux文件,将...
- 如果出现“sqlplus: error while loading shared libraries: /usr/local/oracle/libnnz11.so: cannot restore segment prot after reloc: Permission denied”的错误,可以尝试将SELinux设置为Permissive模式: ...
最后,文章提到了安装 Zend Server CE for Linux 时遇到的问题,即`cannot restore segment prot after reloc: permission denied`错误。这通常与SELinux策略有关。有两种解决方法:一是临时关闭SELinux(风险较高)...
如文档中提到的“cannot restore segment prot after reloc: Permission denied”错误,就是由于Linux的安全策略SELinux阻止了JVM加载必要的库文件。通过使用`chcon`命令改变文件的安全上下文,可以解决这类权限问题...
- 如果出现权限错误,例如 “cannot restore segment prot after reloc: Permission denied”,则需要进一步调整 SELinux 设置。 ##### 步骤 3: 配置 SELinux 1. **编辑 SELinux 配置文件**: - 使用文本编辑器...
- **问题描述**: 安装完成后,可能会遇到权限相关的问题,例如`cannot restore segment prot after reloc: Permission denied`。 - **解决方案**: 1. 编辑`/etc/selinux/config`文件,将`SELINUX=enforcing`修改为`...
- 如果启动失败并提示权限问题,如`error while loading shared libraries: cannot restore segment prot after reloc: Permission denied`,则需要修改SELinux配置。具体操作为将`/etc/selinux/config`文件中的`...