即使权限为 777,用户也无法进入目录

即使权限为 777,用户也无法进入目录

我在 Raspberry Pi 上创建了用户nils并希望它能够访问/media/christoph.我尝试了一切,并试图通过将该文件夹的权限递归设置为 777 来愤怒退出,但即使这样也不起作用。

christoph@christoph-pi:~$ su - nils
Password: 
nils@christoph-pi:~$ cd /media/
nils@christoph-pi:/media$ cd christoph/
-su: cd: christoph/: Permission denied
nils@christoph-pi:/media$ ll
total 12
drwxr-xr-x   3 root      root 4096 Mar 25 00:42 ./
drwxr-xr-x  22 root      root 4096 Jul 13 16:27 ../
drwsrwsrwt+  3 christoph git  4096 Aug  6 17:05 christoph/
nils@christoph-pi:/media$ id
uid=1001(nils) gid=1001(nils) groups=1001(nils),1003(git)
nils@christoph-pi:/media$ logout
christoph@christoph-pi:~$ cd /media/
christoph@christoph-pi:/media$ sudo ls -alZ
total 12
drwxr-xr-x   3 root      root ? 4096 Mar 25 00:42 .
drwxr-xr-x  22 root      root ? 4096 Jul 13 16:27 ..
drwsrwsrwt+  3 christoph git  ? 4096 Aug  6 17:05 christoph

如何授予用户nils进入该文件夹的权限?

答案1

+是ACL(访问控制列表)的标志,要删除用户的所有权限nils并使其可以使用目标目录或文件,需要使用:

setfacl -x u:nils /media/christoph

或者您应该使用以下命令授予权限,例如,如果您希望它具有读取和正确的权限,您可以执行以下操作:

setfacl -m u:nils:rw /media/christoph

答案2

+权限末尾的表示ls该文件设置了 ACL。 ACL 覆盖标准权限。

例如

$ mkdir X
$ chmod 777 X
$ ls -ld X
drwxrwxrwx 2 sweh sweh 4096 Aug  6 11:34 X/
$ setfacl -m 'u:vbox:---' X
$ ls -ld X                 
drwxrwxrwx+ 2 sweh sweh 4096 Aug  6 11:34 X/

所以此时我们有一个带有 ACL 的 777 目录,由+

$ sudo su vbox
vbox:/tmp$ cd X
bash: cd: X: Permission denied
vbox:/tmp$ ls -ld X
drwxrwxrwx+ 2 sweh sweh 4096 Aug  6 11:34 X
vbox:/tmp$ getfacl X
# file: X
# owner: sweh
# group: sweh
user::rwx
user:vbox:---
group::rwx
mask::rwx
other::rwx

用户vbox无法进入该目录;getfacl显示原因。

相关内容