从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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |