博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sudo php 无法打开,从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”...
阅读量:6505 次
发布时间:2019-06-24

本文共 1023 字,大约阅读时间需要 3 分钟。

我已经花了半天的时间来解决这个问题,并且我已经做了很多研究.我也熟悉许多与此主题相关的讨论,例如:

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的配置方式.

谢谢.

不幸的是,当我运行“ setsebool httpd_disable_trans 1”时,出现错误:

无法更改活动的布尔值:无效的布尔值

我还尝试直接编辑不存在的“ / etc / selinux / targeted / booleans”,然后重新启动apache,但这也不起作用.

解决方法:

标签:apache,sudo,suid,php

来源: https://codeday.me/bug/20191102/1989914.html

转载地址:http://tqgyo.baihongyu.com/

你可能感兴趣的文章
java处理高并发高负载类网站问题
查看>>
使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)
查看>>
CAS服务器端集群
查看>>
Android内存泄漏的常见场景及解决方案
查看>>
设计模式 之 访问者模式
查看>>
EasyUI datagrid隐藏<thead>表头
查看>>
用JS获取地址栏参数的方法
查看>>
JAVA Collections框架
查看>>
更改Windwos server 2003 域用户密码策略默认配置
查看>>
网站白名单可行性分析
查看>>
Ruby && Rails开发资源
查看>>
进制转换
查看>>
反转字符串中的单词
查看>>
html与html5的一些区别
查看>>
新博客地址
查看>>
ORACLE数据库中查找重复数据
查看>>
ASCII码
查看>>
java常用四种排序源代码
查看>>
win7 下硬盘安装Redhat7
查看>>
Configuring Zookeeper Cluster
查看>>