我在 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
显示原因。