我正在从事 BOINC 项目。
我有两个用户:boincadm 和 www-data(用于 apache)。 两者都属于 boinc 组
www-data : boinc www-data boincadm
boincadm : boinc adm dialout fax cdrom floppy tape audio dip www-data video plugdev netdev bluetooth lpadmin fuse scanner sambashare subversion
我在/home/boincadm/projects/myproject/中创建了一个 boinc 项目 那里的所有文件和文件夹都属于 boincadm : boinc 并具有 rwxrwx--- 权限。
问题是 www-data 用户无法访问文件,这会导致多个错误,例如:
Warning: require_once(../inc/db.inc): failed to open stream: Permission denied in /home/boincadm/projects/myproject/html/user/index.php
Fatal error: require_once(): Failed opening required '../inc/db.inc' (include_path='.:/usr/share/php:/usr/share/pear') in /home/boincadm/projects/myproject/html/user/index.php
或者只是
Can't access the file XXX
在日志中..
如果我将 grant rwx 更改为“其他”(777),它就可以工作..
我的问题是,为什么组权限不能按我的预期工作?有什么想法吗?
我不是 Linux 专家,因此我可能会错过一些东西。
最佳答案
这是一种可能性:
www-data
具有主要组 www-data
;其余的是supplementary groups .
服务器进程具有正确的用户(由 setresuid
或类似的用户)和主要组(由 setresgid
或类似的用户),但缺少其他补充组(没有 initgroups
或类似的用户)。
如果是这种情况,您有几个选择:将文件所有权更改为主要组、更改服务器运行的组或修复服务器以包含所有补充组。
关于linux - Debian/Linux 组权限未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679937/