加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

从PHP执行root命令……有安全的方法吗?

发布时间:2020-12-13 13:18:06 所属栏目:PHP教程 来源:网络整理
导读:我正在考虑制作一个基于Web的小型 Linux控制面板(只是为了好玩). 我想到的第一个潜在问题是,我需要给Apache的用户根级权限来运行这些命令,这会危及整个系统的安全性. 为系统安装专用Web服务器实际上并不是一种选择. 也许我可以运行第二个Apache实例(为常规用
我正在考虑制作一个基于Web的小型 Linux控制面板(只是为了好玩).

我想到的第一个潜在问题是,我需要给Apache的用户根级权限来运行这些命令,这会危及整个系统的安全性.

为系统安装专用Web服务器实际上并不是一种选择.

也许我可以运行第二个Apache实例(为常规用户保留第一个)但是甚至不确定是否可能.

那么,你们的想法是什么?
我最好的选择是什么?

提前感谢任何输入.

编辑:好的家伙感谢所有的建议,我会记住它们.

编写可以以root身份运行的特定脚本并使用setuid位来执行此操作,以便Apache可以以root身份运行这些脚本. IE
#! /usr/bin/php (or wherever your php binary is)
<?php
   // Some PHP code that takes in very limited user input,// validates it carefully,and does a sequence of actions
   // that you need to run as root.

   // This could easily be a shell script (or whatever else you want)
   // instead of PHP. That might be preferable in many situations.
?>

然后确保该脚本由root用户拥有,并由Apache运行的用户分组:

chown root:www-data myscript.php

然后让它作为所有者运行:

chmod u+s myscript.php

并确保Apache可以执行它:

chmod g+x myscript.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读