此问题与:Using "runas" command for a program that writes a file (Windows Server 2008)
有关我尝试从PHP运行runas
命令来运行该控制台程序:
<?php
exec("runas /savecred /user:User1 writeTxt.exe");
?>
但是从浏览器调用它时不起作用。但是,它的工作原理是以PHP交互模式(php -a
)运行它。是否有任何必须在浏览器中为此设置?
答案 0 :(得分:0)
如果我使用PHP中的runas
(来自浏览器)在没有/savecred
参数的情况下调用exec()
,则程序writeTxt.exe
不会产生任何结果。似乎没有机制让浏览器询问用户runas
的密码。
在PHP交互模式下,一旦为runas
提供了用户密码,/savecred
的使用将导致程序直接执行而无需输入密码。显然,PHP交互模式是与浏览器的PHP不同的会话。由于浏览器没有为runas
提供用户密码的机制,/savecred
对浏览器会话显然毫无用处。
关于我对IUSR
文件夹的system32
权限的评论,我使用此代码对其进行了测试:
<?php
exec("whoami"); // whoami.exe is in the system32 folder
?>
浏览器将显示IUSR
。所以IUSR
有一个阅读&amp;执行对system32
文件夹的访问。