【问题标题】:What would be a safe way or alt. to run a command as root from php script?什么是安全的方式或替代方式。从 php 脚本以 root 身份运行命令?
【发布时间】:2016-03-12 02:25:39
【问题描述】:

正如问题所说...我已经阅读了几篇文章,其他人说不要这样做,但没有提到安全的方法。我知道给它 sudo 访问权限或 root 是危险的,但我正在考虑运行一个通过 root 具有 root 访问权限的脚本。

一篇文章谈到了二进制包装器,但当我尝试它时并没有完全理解它,当我试图进行搜索以理解时,我没有找到任何可以很好地解释它的东西。

那么,什么是安全的好方法?我什至不需要详细解释。你可以给我指出一个好的来源来开始阅读。

谢谢。

规格: Ubuntu 服务器 14.04

编辑: 我说的命令是 mkdir、rmdir 和绝对路径。创建用户,删除用户(这就是我需要 root 的原因)并为我编辑一些 Apache 文件。

【问题讨论】:

  • 具体是什么命令?

标签: php bash ubuntu root


【解决方案1】:

他们未能提供一种安全的方式,因为恕我直言,没有一个。或者,换句话说,您是否确信您的保护创建用户和添加用户功能的代码比试图通过您构建的后门访问您的系统的黑客代码更聪明?

我想不出一个很好的理由让网站创建一个新的系统级用户。通常,Web 应用程序使用管理员为其创建的系统用户运行。您网站内的用户仅对该网站有意义,因此创建新网站用户根本不会获得该用户的系统权限。也就是说,您是否需要这样做。

在需要系统操作的情况下,一种常见的方法是构建一个后台进程,该进程独立于网站执行这些操作。网站和后台进程通过任何有效且安全的方式进行通信 - 套接字、共享数据库、文本文件、TCP-IP 等。这种分离允许您控制可以请求哪些操作并构建必要的检查和余额。当然,这不是一项小工作,但您不是第一个想要这样做的人,所以我会寻找支持这种管理的现有工具。

【讨论】:

  • 我相信 cpanel 会这样做,不是吗?另外,让我思考.. 通过将它们放入数据库并让它监视数据库以执行任何更改,这就是您所说的基本内容?
  • 是的,这是一种方法,基本上是一个工作队列,您的网页向其中添加请求并从后台进程读取。这让您可以在保持网站锁定的同时使用所需的权限运行后台进程。它仍然是一个后门,但它是一个更明确和更易于管理的后门。我构建 Windows 系统,所以我知道 C# 框架来做这种事情,但无法快速找到 Linux / PHP 后台处理引擎。
  • 我知道您可以创建一个永远不会以 bash 结尾的脚本,该脚本会休眠,直到它检测到文件中的更改然后执行。如果没有我 24/7 坐在那里管理它,我很难尝试使一些合理的安全。
猜你喜欢
  • 2015-04-16
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 2019-04-02
  • 2012-02-10
  • 2012-05-15
相关资源
最近更新 更多