Linux下执行程序时发生错误: cannot restore segment prot after reloc: Permission denied

来源:互联网 发布:通达oa数据字典 编辑:程序博客网 时间:2024/05/21 09:35

 众多软件运行时发现这个错误是因为Selinux的缘故,

SELinux是Security-enhanced Linux的缩写,它最开始是在Linux社区作为Linux®内核研究的原型和一些增强安全的工具一起证实强制访问控制的价值,以及如何将这些控制增加到Linux中去,目前SELinux已经集成到Linux 2.6内核的主线和大多数Linux发行版上,SELinux内核包括了新的架构组件,提升了Flask框架操作系统的安全性,这些架构组件提供许多强制访问控制策略的支持,包括那些基于类型增强(TE)、基于角色的访问控制和多级安全。

解决方案(比如我的mplayer 不能播放.rmvb文件来说):
1.
    chcon -t texrel_shlib_t   /usr/local/lib/codecs/drvc.so
    (chcon -t texrel_shlib_t "你不能share的库的绝对路径")

2.
    #vi /etc/sysconfig/selinux file
    或者用
    #gedit /etc/sysconfig/selinux file

    修改SELINUX=disabled
    重启