php - 检查用户是否对 *nix 中的文件有权限

标签 php linux security permissions file-permissions

出于好奇。我一直在思考在 *nix 和基于 Windows NT 的系统中常见的不同访问模型。

是否有任何命令或 api 来检查文件对于与登录用户不同的用户是否可读、可执行等。例如: http://www.php.net/manual/en/function.is-executable.php 或者 Checking File Permissions in Linux with Python 但对于执行用户有权查看的任何用户。

有什么理由找不到这样的函数吗?

最佳答案

在 *nix 中,用户对文件的权限是否可以由 2 个属性确定:文件的世界和组权限。如果为 r、w 或 x 设置了世界权限,那么当然任何用户都将拥有该文件的这些权限。类似地,如果用户是指定为文件组所有者的组的成员,并且这些权限是在组级别设置的,那么用户将再次对文件拥有该权限。当然你需要确定用户对文件绝对路径中所有目录的适当权限。而且,当然,无论权限或所有权如何,root 都可以访问任何文件。

因此,对于任何特定文件,通过查看文件权限和用户的组成员身份,可以相对容易地确定特定用户是否对该文件具有权限。

关于php - 检查用户是否对 *nix 中的文件有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010618/

相关文章:

linux - 从 shell 运行 fortran 代码不起作用

database - 揭露假号码/防止假注册/假短信

搜索数据库时的 PHP 和 mysql 通配符运算符

php - 获取2个数字的百分比

linux - 如何做差异的反面?

apache - 如何在 .htaccess 文件中添加 "X-Frame-Options" header 以防止 'ClickJacking' 攻击

java - 过时的 Maven Artifact 的安全性

c# - PHP utf8 变量编码(HMAC Key -> C# Server)

php - 为什么支付网关使用校验和?

python - nohup 不忽略 SIGHUP