从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1786字,纯文字阅读大概需要3分钟。
内容图文
![从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”](/upload/InfoBanner/zyjiaocheng/673/4bf7550042a5480db9bc931c748a3aec.jpg)
我已经花了半天的时间来解决这个问题,并且我已经做了很多研究.我也熟悉许多与此主题相关的讨论,例如:
How to run PHP exec() as root?
不幸的是,我发现的建议似乎都不适合我.
首先,我正在为规范编写内容,因此我无法避免这样做.此外,所有计算机都将存在于未连接到Internet的专用网络上.虽然拥有一些安全性很重要,但最重要的是要防止错误.我的目标是配置一些“瘦服务器”.通过PHP脚本,我需要能够更改网络配置(静态或DHCP)并重新启动网络.
我尝试的第一件事是编写一个SUID根目录的C程序.它读取,修改和写入网络配置文件.如果我以普通用户身份运行它,它将运行良好,并且可以访问和修改root拥有的文件.但是,如果我从PHP脚本运行它,则会出现访问错误.看来Apache会以某种方式阻止SUID根.
根据其他讨论的建议,我尝试了“ sudo”方法.我暂时将其添加到/ etc / sudoers中:
apache ALL =(全部)NOPASSWD:全部
我得到的错误是这样的:
sudo:无法打开审核系统:权限被拒绝
根据此俄语页面,发生这种情况是因为RHEL(我正在使用Fedora)之类的系统默认对sudoers是requiretty.所以我将这一行添加到/ etc / sudoers中:
默认值!requiretty
我仍然遇到相同的错误.
sudo:无法打开审核系统:权限被拒绝
我完全被困在这里了.也就是说,除非我想以root用户身份运行Apache本身,否则会比其他任何事情都更加不便.
有人可以在这里提出任何建议吗?我意识到我要做的事很奇怪.我敢打赌,你们中的某些人会向我介绍一些用于远程配置Fedora机器的现有系统(现在,我想到了,现在就开始研究).
顺便说一句,我正在运行SELinux,因为默认情况下这就是Fedora 15的配置方式.
谢谢.
编辑:
我找到了本教程:
http://www.cyberciti.biz/faq/howto-disable-httpd-selinux-security-protection/
不幸的是,当我运行“ setsebool httpd_disable_trans 1”时,出现错误:
无法更改活动的布尔值:无效的布尔值
我还尝试直接编辑不存在的“ / etc / selinux / targeted / booleans”,然后重新启动apache,但这也不起作用.
解决方法:
您是否尝试过setenforce 0(暂时禁用SELinux),audit2allow或完全禁用SELinux?查看:PHP webpage doesn’t launch unix command even after updated sudoers
内容总结
以上是互联网集市为您收集整理的从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”全部内容,希望文章能够帮你解决从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。