Linux 在文件夹中具有读/写/执行权限但无法将cd刻录到其中的组中
我目前正在尝试将用户添加到我在linux机器上拥有的git repo中。我进行了一个组调用webdev,其中我使用useradd添加了user1和user2。然后我继续将组添加到文件夹中。然后,我使用chmod 070更改了文件夹的权限。我重启机器 问题 现在我尝试将cd刻录到我最近更改权限的文件夹中,它说我没有足够的权限,但我在webdev组中 当我列出文件夹时,这就是我得到的Linux 在文件夹中具有读/写/执行权限但无法将cd刻录到其中的组中,linux,permissions,Linux,Permissions,我目前正在尝试将用户添加到我在linux机器上拥有的git repo中。我进行了一个组调用webdev,其中我使用useradd添加了user1和user2。然后我继续将组添加到文件夹中。然后,我使用chmod 070更改了文件夹的权限。我重启机器 问题 现在我尝试将cd刻录到我最近更改权限的文件夹中,它说我没有足够的权限,但我在webdev组中 当我列出文件夹时,这就是我得到的 d---rwx--- 3 user1 webdev 4096 jun 22 14:18 : Git Repo 在
d---rwx--- 3 user1 webdev 4096 jun 22 14:18 : Git Repo
在etc/groups中,它清楚地列出了组中的user1和user2。您的问题与git无关。您应该使用
chmod770
,而不是在您的目录上运行chmod070
。对user1
没有rwx
权限可能会覆盖组权限,从而将user1
锁定。user2
能进去吗
奇怪的是,当我在Ubuntu 12.04、OS X Mountain Lion和OS X Yosemite上做这个测试时,我被锁定了,但在OS X Lion上没有。你的问题与git无关。您应该使用
chmod770
,而不是在您的目录上运行chmod070
。对user1
没有rwx
权限可能会覆盖组权限,从而将user1
锁定。user2
能进去吗
奇怪的是,当我在Ubuntu12.04、OS X Mountain Lion和OS X Yosemite上进行此测试时,我被锁定了,但不是在OS X Lion上。Unix权限实际上是这样工作的:
if (you are root) {
you have 'rwx' permissions for any folder and 'rw' and possibly 'x' for any file
} else if (you are file's owner) {
only 'owner' permissions apply to you
} else if (list of groups you belong to includes file's group) {
only 'group' permissions apply to you
} else {
only 'other' permissions apply to you
}
因此,如果您是
user1
,而文件夹的所有者是user1
,并且文件夹具有'--rwx----'
权限,则所有者权限('--'
)将应用于您,而您没有访问权限。if (you are root) {
you have 'rwx' permissions for any folder and 'rw' and possibly 'x' for any file
} else if (you are file's owner) {
only 'owner' permissions apply to you
} else if (list of groups you belong to includes file's group) {
only 'group' permissions apply to you
} else {
only 'other' permissions apply to you
}
因此,如果您是
user1
,并且文件夹的所有者是user1
,并且文件夹具有'--rwx-->
权限,那么所有者权限('--'
)应用于您,但您没有访问权限。用户2无法进入,但我不知道用户权限的工作方式与上面描述的类似。用户2无法进入,但我不知道用户权限的工作方式与上面描述的类似。