Linux权限--can';t写入所有权限设置为“允许所有”的目录

Linux权限--can';t写入所有权限设置为“允许所有”的目录,linux,permissions,Linux,Permissions,情景: 鲍勃拥有x目录 bob已将x的权限设置为777 吉姆不能给x写信。为什么? 实际产量: 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 "apac

情景:

鲍勃拥有x目录

bob已将x的权限设置为777

吉姆不能给x写信。为什么?

实际产量:

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用户的身份进行pip安装,但不允许该用户编写安装日志,因此该过程失败。我需要以apache用户的身份编写日志,但它存在于我的用户空间中。我可以更改所有者,但是这个过程应该适用于任何用户,甚至是新用户,所以我有点困惑我应该做什么来实现这一点

更新:

我从中了解到,
apache
不拥有
user1
的主目录,因此目录搜索无法工作。是这样吗?

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

问题似乎是问为什么用户
apache
不能在以下条件下操作:

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

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

sudo chmod o+x /home/user1
然后,
/home/user1
子文件夹权限可以根据需要收紧和放松。使用组权限比使用世界权限更好,但是您可能应该为此创建一个特殊的组,而不是将
apache
设置为
user1
组的成员。更好的解决方案是使用ACL,该ACL向
/home/user1
授予
/apache
遍历权限,而无需向更广泛的受众打开用户的主目录

小心点。如果使用上述命令放松权限,则框中的所有用户都可以访问用户主目录的子目录(如果他们的权限不够严格)


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

看来,您试图在UsR1的主页目录树中的<目录> MKDIr < /C> >目录,但是您的问题不能清楚地标识您在哪里工作。输入
pwd
输出以供参考。
没有组或世界权限这一事实似乎是您无法在/home/user1的目录树下工作的原因,因为apache无权通过该级别的文件系统。请更清楚地了解目录树的外观。另外,
ls-lZ
getfacl
将帮助人们了解是否存在其他权限问题。吉姆和鲍勃是谁,他们与这个问题有什么关系?我看到提到的唯一用户是user1和apache。请写出问题,使其内部一致。