我已经完成了这个脚本:
#!/usr/bin/php
<?php
system('whoami');
此脚本属于userName。
当我从webbrowser运行它时,使用以下php脚本:
<?php
$cmd = 'php -f "/pathtomy/programm/whoami.php"';
system($cmd);
它输出_www (我在Mac上)。
我希望脚本输出userName, 从webbrowser调用时。
这可能吗? 我在这个论坛上看到了c ++包装器解决方案, 但是我还没有时间学习c ++, 所以我想知道是否有其他解决方案。
答案 0 :(得分:1)
Web服务器正在运行的用户(_www
)是将执行任何和所有脚本的用户。如果要切换到其他用户,可以使用su
或类似机制在您正在执行的命令中切换用户,但这也意味着_www
必须将权限设置为能够切换到该用户。作为另一个用户执行任何操作通常也是一个坏主意,Web服务器专门作为_www
运行,它应该对系统的权限非常有限,以最大限度地减少安全漏洞。
可能有一个更好的解决方案来做你想做的事情,而不需要你切换用户。