繁体   English   中英

授予 IUSR 权限以使用 PowerShell 停止进程命令?

[英]Grant IUSR Rights to Use PowerShell Stop-Process Command?

我有一个 PHP 脚本,它通过shell_exec()运行 Powershell Stop-Process命令。 PHP 作为 IUSR 运行。 当我运行脚本时,我收到一条拒绝访问的错误消息。 如果我使用我的管理员帐户在 PowerShell 中运行该命令,它会按预期工作。

如何授予 IUSR 在 Powershell 中执行Stop-Process的能力?

我无法找到一种解决方案来授予 IUSR 执行Stop-Process的特定权限,但我能够通过将与Stop-Process脚本关联的“匿名身份验证”用户从IUSR更改为Administrator

在 IIS 8.5 中,转到站点->我的站点->文件夹名称 在主面板上,单击IIS下的身份验证 右键单击匿名身份验证,然后单击编辑

您可以在 IIS 应用程序的任何级别设置“匿名身份验证”值; 从站点级别到子目录级别。 我建议只将实际托管终止脚本的目录中的值从IUSR更改为Administrator 为整个站点更改它可能会给应用程序的其他部分带来问题。

我看到一些信息表明,如果您将受限用户添加到Performance Monitor Users组并授予它调试权限,它将能够终止进程。

不过,您可能会考虑一些风险较小的事情,例如以具有这些权限的用户身份运行另一个 Web 应用程序,该应用程序只能从本地计算机访问。 然后让您的 PHP 应用程序向内部应用程序发出 Web 请求以完成它的杀戮。

如果您只想终止特定进程,这可以让您进一步限制影响,因为内部应用程序可以设计为仅终止该一件事。

实现类似分离的其他方法是,例如有一个计划任务,它在特定目录中查找具有特定内容的文件,当它看到它时,它会终止一个进程并删除该文件。 IUSR可以被授予在该目录中创建文件的权限,作为触发此操作的一种方式。 这种方法很容易实现,但不是同步的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM