我有一个/home/shared_space/
包含所有用户/home/<user>/Projects/
目录的符号链接的目录。
例如
/home/shared_space/johnny -> /home/johnny/Projects/
/home/shared_space/jenny -> /home/jenny/Projects/
所有用户都分配到该data
组。该data
组对目录具有读取权限和执行权限/home/<user>/Projects/
。
我只对一个特定用户有问题,但对所有其他用户来说它都正常。这个用户区域似乎是问题所在,而其他用户区域可供该data
组内所有用户访问。
如果我以 root 或拥有该目录的特定用户身份登录,/home/<user>/Projects/
我可以导航到/home/shared_space
。但是任何其他用户都无法访问其他用户的/home/shared_space/<user>
目录。
列表显示符号链接为红色,即使该符号链接并非悬空。
我该如何解决?
答案1
为了访问一个目录,您必须拥有该目录上所有目录所需的所有权限。
即如果有人想要访问/home/johnny/Projects/
它也应该能够访问:
/home/
和/home/johnny/
文件夹。
为此,您应该group
data
向子目录及其父目录授予所有必要的权限 - 或者至少允许x
(执行/更改目录)在每个父目录上。
笔记:正如@Rinzwind 提到的 -从隐私/安全的角度来看,最好有一个专门的分区来存储这些项目,这将确保不会错误地访问敏感的私人数据。
例如,对于这样的结构:专用分区:/opt/project
并且在这个分区下,你将为每个学生创建一个文件夹(/opt/project/johnny/
,/opt/project/dave/
),组/opt/project/
中的每个人都可以访问该文件夹data
,如果需要,所有学生文件夹下的文件夹/opt/project
也将允许对其项目文件夹进行读取/执行访问
您可能想要反转链接,这样每个学生都会有一个从他的主帐户到位于专用分区上的项目的符号链接。
/home/johnny/Projects/ -> /opt/project/johnny/
/home/jenny/Projects/ -> /opt/project/jenny/