首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP网页即使在更新的sudoers之后也不会启动unix命令

PHP网页即使在更新的sudoers之后也不会启动unix命令
EN

Stack Overflow用户
提问于 2008-09-22 08:03:05
回答 4查看 12.9K关注 0票数 2

基本上,我正在尝试从php网页重新启动服务。

以下是代码:

代码语言:javascript
复制
<?php
exec ('/usr/bin/sudo /etc/init.d/portmap restart');
?>

但是,在/var/log/httpd/error_log,我得到

无法更改为sudoers gid:不允许操作

在/var/log/消息中,我得到

9月22日15:01:56 ri内核:审核(1222063316.536:777):avc: pid=4851 comm="sh“name="var”dev=dm-0 ino=114241 scontext=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:var_t tclass=dir { getattr } 9月22日15:01:56 ri内核:审核(1222063316.549:778):avc: pid=4851 comm="sudo“scontext=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=process的{ setrlimit }被拒绝 9月22日15:01:56 ri内核:审核(1222063316.565:779):avc: pid=4851 comm="sudo“name=”影子“dev=dm-0 ino=379669 scontext=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=file { read } 9月22日15:01:56 ri内核:审核(1222063316.568:780):avc: pid=4851 comm="sudo“name=”影子“dev=dm-0 ino=379669 scontext=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=file { read } 9月22日15:01:56 ri内核:审核(1222063316.571:781):avc: pid=4851 comm="sudo“capability=6 scontext=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=capability的{ setgid }拒绝 9月22日15:01:56 ri内核:审核(1222063316.574:782):avc: pid=4851 comm="sudo“capability=7 scontext=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=capability的{ setuid }拒绝 9月22日15:01:56 ri内核:审核(1222063316.577:783):avc: pid=4851 comm="sudo“capability=6 scontext=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=capability的{ setgid }

在我的情书里,我加上了这些行

User_Alias WWW=apache ALL=(ALL) NOPASSWD:ALL

你能帮帮我吗?我做错什么了吗?

谢谢你的帮忙,

tiBoun

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-22 08:20:10

问题不在于sudo,而在于SELinux,它(合理地)设置为拒绝HTTPD获取根权限。

您需要显式地允许这样做(为此可以使用audit2allow ),或者将SELinux设置为允许的。我建议用前者。

票数 10
EN

Stack Overflow用户

发布于 2008-09-22 08:16:30

您所得到的错误似乎与您的SELinux配置有关。您可以尝试暂时禁用该功能。

顺便说一句,我强烈建议你调整你的sudo配置,使之更具限制性。

代码语言:javascript
复制
User_Alias WWW=apache
Cmnd_Alias WEBCMDS=/etc/init.d/portmap
WWW ALL=NOPASSWD: WEBCMDS
票数 5
EN

Stack Overflow用户

发布于 2015-08-28 11:15:59

我最近遇到了这个问题,上面被接受的答案起到了帮助作用。但是,我想贴出这个答案来阐述同样的问题,这样下一个人就不需要花太多的时间,就像我一样!

遵循以下链接的第7节:https://wiki.centos.org/HowTos/SELinux

httpd_sys_script_t做grep。

基本步骤是:

代码语言:javascript
复制
# grep httpd_sys_script_t /var/log/audit/audit.log | audit2allow -M httpdallowsudo
# semodule -i httpdallowsudo.pp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/113728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档