我正在尝试添加一个用户,使其有权访问 Linux 文件系统上的特定目录。
我在这里看到了这个答案:https://superuser.com/questions/235297/allow-specific-user-permission-to-read-write-my-folder,然后跑:
setfacl -m user:tom:rwx /home/to/folder
但是,当我运行时,ls -l
用户不会显示为有权访问该目录,并且我无法以该用户身份访问它。
是否有另一种方法可以将特定用户添加到目录中?我不想将用户添加为目录的所有者,或将用户添加到所有者组,因为这会影响该用户对整个系统的访问权限。
任何帮助将不胜感激!
答案1
ACL 条目仍然遵循与主要属性相同的访问规则。请记住,用户至少需要r-x
能够列出文件并更改目录,并且至少r--
能够读取文件。如果您实际上没有授予他们文件的权限,他们将无法打开任何内容。同样,如果用户至少没有中间目录的--x
权限(最好是r-x
),他们将无法遍历到目录位置。
确定访问权限时必须注意两个地方。给出以下示例:
drwxrwx---+ 5 DOMAIN\erik DOMAIN\domain users 4096 Apr 11 2017 documents
- 这基本的属性:这些是你运行时看到的
ls -l
。此处只能指定一个用户和组(没有空间放置更多!),这就是为什么您看不到任何其他用户的原因。 这前交叉韧带(访问控制列表):除了主要属性之外,还有其他具有权限的用户和组。它们在权限后面用 表示
+
,可以通过运行看到getfacl
(这是来自 Samba 共享目录):$ getfacl directory # file: directory # owner: DOMAIN\134erik # group: DOMAIN\134domain\040users user::rwx user:DOMAIN\134erik:rwx group::r-x group:DOMAIN\134domain\040users:r-x group:DOMAIN\134test\040group:rwx mask::rwx other::--- default:user::rwx default:user:DOMAIN\134erik:rwx default:group::r-x default:group:DOMAIN\134domain\040users:r-x default:mask::rwx default:other::---
(目录有
default
条目;文件则没有。)正如您所看到的,ACL 允许许多条目,您可以指示默认属性(对于新文件和目录)是什么;此外,
getfacl
将主要属性显示为顶部的注释。