我目前正在开发 PHP 服务器资源管理器,我必须确定目录是否为空或由于权限不足而无法读取。
我的Web应用程序运行在用户下apache
,我可以看到我的应用程序可以根据目录模式访问它无法读取的文件夹。
权限看起来像这样:
ls -al
drwxr-x--- 8 laura jpGrp 4096 Aug 10 09:40 dir1
以下是jpGrp的内容:
cat /etc/group | grep "jpGrp"
jpGrp:x:501:laura,lola,gerard
以下是 apache 用户的内容:
grep apache /etc/passwd
apache:x:48:48:Apache:/var/www:/sbin/nologin
Apache 不在根组中:
cat /etc/group | grep "root"
root:x:0:root
来自 shell_exec("whoami") php 函数的 var_dump :
string 'apache' (length=7)
一位朋友告诉我查看 ACL,但没有任何东西可以覆盖标准 Unix 模式。
那么:为什么Apache可以打开这个目录(dir1)呢? (这是我的问题)
答案1
> 那么为什么apache可以打开这个目录(dir1)呢?
我对此没有答案,通常应该不能。
> 可以在群里建群吗?
不,在 Linux 中,所有组成员都必须是用户。
> 或者让一个组成为目录的所有者?
是的,您可以通过命令将目录的所有权分配给用户和组chmod myuser:mygroup mydir
。目录的“组”权限将应用于该组成员的所有用户。