linux - Debian/Linux 组权限未按预期工作

标签 linux permissions debian usergroups

我正在从事 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/

相关文章:

c++ - QListView,如何调整到最适合的大小?

node.js - 无法达到单个服务器的最大 tcp 连接数

python - 防止多处理 "runaway bugs"

C# Directory Security SetAccessControl 没有生效?

php 不会删除 775 dir chmod

python - 另一个 `bash: pip: command not found`

php - 当 LAMP 服务器上有数百万用户时,存储和获取图像的最快、最有效的方法是什么?

C++ 密码,根权限

linux - 在 Debian/Linux 上将程序作为服务运行

python - 导入错误 : No module named zbar on Linux Mint