使用 getfacl
验证访问控制列表
除了标准的 Linux 权限(所有者、所属组、其他用户)之外,一些文件系统还支持访问控制列表(Access Control Lists,ACLs)。ACLs 提供了一种更精细的方式,用于为特定用户或组定义权限,超越了基本的三个类别。
getfacl
命令用于显示文件和目录的 ACLs。在这一步中,你将使用 getfacl
检查 my_file.txt
文件是否设置了任何 ACLs。
首先,确保你位于 ~/project
目录中:
pwd
你应该会看到 /home/labex/project
。
现在,对 my_file.txt
运行 getfacl
命令:
getfacl my_file.txt
你应该会看到类似如下的输出:
## file: my_file.txt
## owner: labex
## group: labex
user::rw-
group::rw-
other::r--
让我们来分析一下输出:
## file: my_file.txt
:表示正在检查的文件。
## owner: labex
:显示文件的所有者。
## group: labex
:显示文件的主要所属组。
user::rw-
:这一行显示文件所有者的权限。user::
指的是文件所有者用户,rw-
表示读取和写入权限。这与使用 ls -l
看到的所有者权限相对应。
group::rw-
:这一行显示所属组的权限。group::
指的是所属组,rw-
表示读取和写入权限。这与使用 ls -l
看到的所属组权限相对应。
other::r--
:这一行显示其他用户的权限。other::
指的是所有其他用户,r--
表示读取权限。这与使用 ls -l
看到的其他用户权限相对应。
在这种情况下,getfacl
的输出仅仅反映了标准的 Linux 权限。如果为其他用户或组设置了特定的 ACLs,它们将作为额外的行出现在输出中,例如 user:username:permissions
或 group:groupname:permissions
。
例如,如果设置了一个 ACL 来给予一个名为 testuser
的用户只读访问权限,输出可能会包含类似 user:testuser:r--
的一行。
由于 my_file.txt
上没有设置特定的 ACLs,getfacl
显示的是从标准权限位派生的默认权限。
当你需要了解应用于文件或目录的完整权限集时,尤其是在使用 ACLs 的环境中,使用 getfacl
至关重要。
点击 继续 完成本次实验。