如何更改 PHP 运行的 Windows 用户?

问题描述 投票:0回答:1

我通过 IIS 运行 PHP,并且需要一个脚本在网络共享上

mkdir()
,这意味着我需要 PHP 通过作为服务帐户运行来创建文件夹。这可能吗?

php iis permissions mkdir
1个回答
0
投票

更好的解决方案可能是运行一个服务,运行的 PHP 实例可以与之通信,告诉该服务为您创建目录。更改 PHP 运行的用户,会更改 PHP 在服务器/网络上执行操作的权限。我意识到这就是您的目标,因为您希望 PHP 能够做比目前更多的事情,但这可能会导致更多的伤害。例如,假设一个恶意者发现了一个安全漏洞并设法让您的 Web 服务器在您的服务器上执行任意代码。如果 PHP 具有提升的权限,那么执行的代码可能会对您的系统造成额外的损害,这是使用更有限的权限所无法做到的。

您可以执行服务/计划任务从文件/数据库读取以等待写入这些目录名称,然后创建侦听 127.0.0.1:xxxx 的目录或服务,其中 xxxx 是超过 1024 的某个随机端口,允许 PHP 直接与该服务通信以发送目录创建请求。我会确保服务/计划任务运行的帐户没有超过必要的权限,并且我不会允许 PHP 提供命令,只有新的目录名称,您的服务/计划任务只能使用 mkdir() 执行 mkdir() 操作由 PHP 提供。我还会清理目录名称,这样就无法通过

所有这些可能比您想要的更复杂,但是最小权限策略将使您更不易受到攻击。如果您不担心安全问题,那么您可以尝试更改应用程序池标识,正如 Lex Li 建议的那样。

© www.soinside.com 2019 - 2024. All rights reserved.