我的 Ubuntu 机器上有两个用户。其中一个在 sudoers 列表中,而另一个不在 sudoers 列表中。我在第一个用户的主目录中创建一个目录。然后我将该目录的所有权更改为其他用户。现在,当我切换到其他用户并尝试读取此目录时,它显示权限被拒绝。
我使用了chown
with-R
所以它适用于目录内的所有内容。
显示ls -l
了这个
drwxr-xr-x 2 lfs lfs 4096 Mar 23 02:07 sources
lfs
成为第二个用户。
答案1
这是与您上述问题相关的评论中@Kusalananda 问题的后续内容。
假设您有两个用户,user1
并且user2
。假设user1
有一个主目录/home/user1
。现在假设在user1
您的主目录中创建一个由 拥有的目录user2
,比如说/home/user1/sources
,可以user2
访问该目录吗?
为了能够user2
访问/home/user1/sources
, thenuser2
需要x
对从 root 到该目录(包括该sources
目录)的每个目录具有(遍历)权限:
$ ls -ld /
dr-xr-xr-x 31 root root 4096 Feb 28 11:37 /
^ Check (this will almost always be OK)
$ ls -ld /home
drwxr-xr-x 4 root root 4096 Feb 28 11:38 /home
^ Check (this will almost always be OK)
$ ls -ld /home/user1
drwx------ 9 user1 group1 4096 Mar 21 00:36 /home/user1
^ ^ In this case, no, user2 cannot traverse here
$ ls -ld /home/user1/sources
drwxr-xr-x 9 user2 group2 4096 Mar 21 00:36 /home/user1/sources
^ Check
在此示例中,由于user2
无法遍历到/home/user1
,因此user2
无法访问/home/user1/sources
(即使user2
拥有该目录)。
在您的问题中,您说该sources
目录位于第一个用户的主目录中。我的猜测是第二个用户无法访问第一个用户的主目录。
您可以考虑将该sources
目录放置在用户主目录之外的某个位置。