Linux权限 - 无法写入已将所有权限设置为允许所有权限的目录

时间:2015-05-06 15:16:30

标签: linux permissions

情景:

bob拥有目录x

bob已将x的权限设置为777

jim无法写入x。为什么呢?

实际输出:

test_length

最终我正在尝试将安装作为ls -la .pip/ total 12 drwxrwxrwx 2 user1 user1 4096 May 5 12:03 . drwx------ 5 user1 user1 4096 May 6 11:34 .. -rw-rw-rw- 1 user1 user1 2054 May 5 12:48 pip.log sudo -S -p 'sudo password:' -u "apache" /bin/bash -l -c "mkdir .pip/monkey" /bin/bash: /home/user1/.bash_profile: Permission denied mkdir: cannot create directory `.pip/monkey': Permission denied 用户,并且不允许该用户编写安装日志,因此该过程失败。我需要将日志写为apache用户,但它存在于我的用户空间中。我可以更改所有者,但这个过程应该适用于任何用户,甚至是新用户,所以我应该做的事情有点令人困惑。

更新

我从http://linux.die.net/man/2/path_resolution了解到,apache不拥有apache的主目录,因此目录搜索无效。是这种情况吗?

1 个答案:

答案 0 :(得分:0)

免责声明: 在撰写此答案时,问题并未明确指出工作目录。如果答案中记录的假设不正确,则答案中提到的文件夹可能需要相应调整。

似乎该问题询问用户apache无法在以下情况下运作的原因:

/home/user1/

似乎/home/user1可能将权限设置为drwx------,因为这些权限通常用于帮助保护可以累积在用户主目录根目录中的私有数据。< / p>

如果上述情况属实,那么apache无法在/home/user1/下工作是正常的,因为它对traversal没有/home/user权限。可以以各种方式添加这些权利。最简单但不是特别安全的方法是:

sudo chmod o+x /home/user1

然后可以收紧和放宽/home/user1子文件夹权限以满足需要。使用组权限比使用世界权限更好,但您可能应该为此目的创建一个特殊组,而不是让apache成为user1组的成员。更好的解决方案是使用ACL,apache遍历/home/user1遍历权限,而无需打开用户的主目录,直至更广泛的受众。

小心点。使用上述命令放松权限可以使盒子上的所有用户访问用户主目录的子目录,如果他们的权限不合适的话。

注意: 某些系统上的安全机制可能会因放松用户主目录权限而受到干扰,并干扰手动覆盖。例如,这可能发生在msec配置为相对较高安全级别的分发上。如果没有给出关于系统配置的更多细节,则预测潜在问题有些困难。例如,除非对特定文件系统区域进行了例外,否则在具有高安全性设置的msec受管系统上,msec将定期重写它监视的目录权限,如果它不认为权限兼容使用配置的安全级别。