默认用户虽然拥有 750 的权限,但是如何能够访问组和用户 root 拥有的目录?

默认用户虽然拥有 750 的权限,但是如何能够访问组和用户 root 拥有的目录?

我最近安装了双启动的 Ubuntu 16.04,使用brij安装时创建的用户名。我创建了一个新用户work,并将其添加到所有组中,就像brijie一样

brij adm cdrom sudo dip plugdev lpadmin sambashare work

我有 3 个 NTFS 分区。现在,如果我ls -l/media目录中运行命令,我将获得如下输出

total 8
drwxr-x---+ 2 root root 4096 Oct 12 21:55 brij
drwxr-x---+ 5 root root 4096 Oct 12 22:18 work

因此,从此输出中,我可以轻松得出结论,该文件归 grouproot和 user所有root。并且它还具有 chmod as 750

但问题是我可以访问这个目录(但我可以通过 brij 用户访问 brij 目录,通过工作用户访问工作目录)。如果用户brij不属于 root 组,那么如何访问这个目录。另一件事是,如果brijwork属于同一个组,那么为什么work不能访问/media/brij目录和brij不能访问/media/work目录,而他们可以访问各自名称的目录?我遗漏了什么吗?

getfactl 的输出是

# file: brij
# owner: root
# group: root
  user::rwx
  user:brij:r-x
  group::---
  mask::r-x
  other::---

# file: work
# owner: root
# group: root
  user::rwx
  user:work:r-x
  group::---
  mask::r-x
  other::---

答案1

正如 Muru 所说,ls 输出中的 + 表示 ACL(访问控制列表)。当这些列表处于活动状态时,它们会取代正常的文件权限,这可能会很烦人,因此很多人因此不使用 acl。

如果我没记错的话,你似乎没有意识到自己在使用 ACL,而且除了正常的文件权限之外可能不需要它。如果这是正确的,你可以使用以下命令删除 ACL 权限:

setfacl --remove-all -R <file or directory name>

此命令将删除给定路径中任何内容的 ACL 权限。然后,文件/目录将恢复使用您可能希望使用的基本文件权限。

ps 关于你关于掩码的问题。当用户创建文件或目录时,它会被创建为具有一组默认权限。使用 umask,你可以指定这些默认值。你可以忽略它,直到它阻碍你,因为你现在知道你可以在需要时更改它。

相关内容