根据标题,我必须创建一个文件,例如:
/home/john/file.ini
Run Code Online (Sandbox Code Playgroud)
我创建了一个用户和一个组,myuser并将mygroup它们设置为 this 的所有者和组file.ini:
chown myuser:mygroup file.ini
Run Code Online (Sandbox Code Playgroud)
我有另一个用户名为mymain. 该用户必须能够读取该文件。如何更改权限以允许这样做?
重要提示:我只想允许“mymain”用户读取此文件,而不是所有其他用户。
所以 myuser(文件的所有者)和 mymain 应该有访问权限。
Joa*_*uer 12
在传统的 Unix 文件权限系统中这是不可能的:一个文件只有一个所有者。您可以创建一个仅包含应该具有访问权限的两个用户的组,并使该组成为文件的所有者组(并为该组提供所需的权限)。然而,这种方法有一些管理开销(不是每个用户都可以创建一个组并将其他用户放入其中)。
许多(大多数)现代文件系统都支持 ACL,但是它们并不太难使用。如果您想使用 POSIX ACL 授予另一个用户读取 ( r) 和写入 ( w) 权限,那么您可以使用以下命令:
setfacl -m user:mymain:rw file.ini
Run Code Online (Sandbox Code Playgroud)
两个注意事项:
acl包 ( sudo apt-get install acl)ext4例如,这仅意味着附加,acl到 中的挂载选项/etc/fstab)。您应该确保用户mymain是组的成员mygroup并授予组权限,例如
chmod g+r <filename>
Run Code Online (Sandbox Code Playgroud)
一些文件系统实现了 ACL(访问控制列表),这些可能证明对您更有用,但它们超出了我在这里回答的范围。您将需要阅读企业 (ADS) 设置中的 ACL_
当然,从技术上讲,两个用户不能同时是同一个文件的所有者。此外,如果你想模仿,你应该给组完全许可,也许只为这两个“所有者”创建一个特殊的组,这实际上模仿所有权的程度将取决于平台(旧式 UNIX-en在允许 chmod/chown 的规则中往往非常严格)
| 归档时间: |
|
| 查看次数: |
25063 次 |
| 最近记录: |