Linux 中是否可以设置每个用户的权限?

Linux 中是否可以设置每个用户的权限?

这可能吗?

看来我在 Windows 中设置权限的选项比在 Linux 中更多。

假设我想授予用户对顶级目录的完全访问权限,但限制他们对某些子目录的访问权限。

更进一步,我该如何为多个用户执行此操作?

答案1

在 POSIX 系统中,一个文件只能有一个用户所有者和一个组所有者。普通 posix 权限会影响用户所有者、组所有者和所有人的访问权限。我假设您已经熟悉这些。

此外,在 Linux 上,还提供了 ACL 的扩展形式,允许为其他用户和组指定访问权限。在 Linux 中,大多数文件系统必须专门安装选项以启用这些 ACL 的存储。通常,挂载选项是“acl”。 ext2/3/4 FS 绝对支持该选项。您可以检查在 bash 中运行以下命令的选项:

$ mount

或者

$ cat /proc/self/mounts

然后查看要应用 ACL 的文件系统是否启用了该挂载选项。假设确实如此,您可以使用getfaclsetfacl命令来操作文件和目录的 acl。下面是运行 getfacl 的示例:

$ getfacl ipxe/
# file: ipxe/
# owner: wt
# group: wt
user::rwx
group::rwx
other::r-x

在本例中,我的目录上没有任何扩展 ACL。如果我授予用户“foo”“rwx”对该目录的权限,您会看到类似于user:foo:rwx该输出的条目。

答案2

如果您使用适当的文件系统并激活它们,则可以调用 Linux ACL。

答案3

LINUX 中的“权限”由两种机制处理:

  1. 所有权
  2. 读取、写入和执行权限。

每个文件(或目录)都有一个所有者和一个组所有者。请参阅chown或 的手册页维基百科

chown user:group file

权限设置为所有者、组和其他人。请参阅 的手册页chmod。或者维基百科

chmod [options] file

options 是数字权限或符号模式。 (请参阅文档或 wiki 以更详细地了解这一点)

用户可以属于多个组。

相关内容