首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查php以什么用户身份运行?

如何检查php以什么用户身份运行?
EN

Stack Overflow用户
提问于 2011-10-15 01:56:31
回答 15查看 187.8K关注 0票数 128

我需要检测php是否正在以无人身份运行。我该怎么做呢?

“无名之辈”还有其他的称谓吗?“阿帕奇”还有别的吗?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-10-15 02:03:13

如果可用,您可以使用posix_geteuid探测当前用户帐户,然后使用posix_getpwuid获取用户名。

代码语言:javascript
复制
$username = posix_getpwuid(posix_geteuid())['name'];

但是,如果您在安全模式下运行(当exec被禁用时通常就是这种情况),那么您的PHP进程不太可能在默认的www-dataapache帐户下运行。

票数 99
EN

Stack Overflow用户

发布于 2011-10-15 01:58:23

<?php echo exec('whoami'); ?>

票数 229
EN

Stack Overflow用户

发布于 2011-10-15 02:04:54

一种落后的方式,但没有exec/system:

代码语言:javascript
复制
file_put_contents("testFile", "test");
$user = fileowner("testFile");
unlink("testFile");

如果您创建了一个文件,则所有者将是PHP用户。

这也可能与任何临时文件函数(如tempnam() )一起运行,该函数在临时目录中创建一个随机文件并返回该文件的名称。如果由于权限、open_basedir或安全模式等原因导致无法写入文件而出现问题,通常仍会允许使用临时目录。

票数 74
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7771586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档