手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

getfacl(1)

名称

getfacl - 显示自主文件信息

用法概要

getfacl [-ad] file...

描述

对于表示常规文件、特殊文件或命名管道的每个参数,getfacl 实用程序会显示所有者、组和访问控制列表 (Access Control List, ACL)。对于每个目录参数,getfacl 会显示所有者、组、ACL 和/或缺省的 ACL。只有目录包含缺省的 ACL。

getfacl 实用程序可在不支持 ACL 的文件系统上执行。它将基于基本权限位报告 ACL。

如果未指定任何选项,getfacl 会显示文件名、文件所有者、文件组所有者、ACL 和缺省 ACL(如果存在)。

选项

支持以下选项:

–a

显示文件名、文件所有者、文件组所有者和文件的 ACL。

–d

显示文件名、文件所有者、文件组所有者和文件的缺省 ACL(如果存在)。

操作数

支持下列操作数:

file

常规文件、特殊文件或命名管道的路径名。

输出

输出

ACL 输出的格式如下所示:

# file: filename	
# owner: uid	
# group: gid	
user::perm	
user:uid:perm	
group::perm	
group:gid:perm	
mask:perm	
other:perm	
default:user::perm	
default:user:uid:perm	
default:group::perm	
default:group:gid:perm	
default:mask:perm	
default:other:perm

在命令行上指定多个文件时,以一个空白行分隔每个文件的 ACL。

在执行访问权限检查时,ACL 条目将按其评估顺序显示。目录上可能存在的缺省 ACL 条目不会影响访问权限检查。

前三行显示文件名、文件所有者和文件组所有者。请注意,仅当指定了 –d 选项且文件没有缺省的 ACL 时,才会显示这三行。

不具有用户 ID 的 user 条目指示授予文件所有者的权限。一个或多个额外的用户条目指示授予指定用户的权限。

不具有组 ID 的 group 条目指示授予文件组所有者的权限。一个或多个额外的组条目指示授予指定组的权限。

mask 条目指示 ACL 掩码权限。这些权限是允许授予所有用户条目(文件所有者除外)和所有组条目(包括文件组所有者)的最大权限。这些权限会限制在其他条目中指定的权限。

other 条目指示已授予其他人员的权限。

只有对于目录才会存在 default 条目。这些条目指示已添加到在目录中创建的文件的缺省条目。

如果系统口令文件 /etc/passwd 中不存在任何 uid 条目,则 uid 是一个登录名或用户 ID。如果系统组文件 /etc/group 中不存在任何 gid 条目,则 gid 是一个组名或组 ID。perm 是一个由三个字符组成的字符串,这三个字符分别是以下表示单独自主访问权限的字母:r(读取)、w(写入)、x(执行/搜索)或占位符 perm 按以下顺序显示:rwx。如果 ACL 条目未授予某个权限,则会显示占位符。

如果您使用 chmod(1) 命令更改含有 ACL 条目的文件的文件组所有者权限,则会同时将文件组所有者权限和 ACL 掩码更改为新的权限。请注意,对于文件中有其 ACL 条目的附加用户和组,新的 ACL 掩码权限可能会更改其有效权限。

为了指示 ACL 掩码限制 ACL 条目,getfacl 在该条目后面显示一个附加制表符、井号 (#) 和授予的实际权限。

示例

示例 1 显示文件信息

以文件 foo 为例,该文件的 ACL 包含六个条目,命令

host% getfacl foo

将输出:

# file: foo 
# owner: shea 
# group: staff 
user::rwx 
user:spy: − − − 
user:mookie:r − − 
group::r − − 
mask::rw − 
other:: − − −
示例 2 在执行 chmod 命令后显示信息

继续使用上例,在 chmod 之后发出了 700 foo

host% getfacl foo

将输出:

# file: foo
# owner: shea
# group: staff
user::rwx
user:spy: − − −
user:mookie:r − −     #effective: − − −
group:: − − −          
mask:: − − −
other:: − − −
示例 3 当 ACL 包含缺省条目时显示信息

以目录 doo 为例,该目录的 ACL 包含缺省条目,命令

host% getfacl -d doo

将输出:

# file: doo
# owner: shea
# group: staff
default:user::rwx
default:user:spy: − − −
default:user:mookie:r − −
default:group::r − −
default:mask:: − − −
default:other:: − − −

文件

/etc/passwd

系统口令文件

/etc/group

组文件

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

chmod(1)ls(1)setfacl(1)acl(2)aclsort(3SEC)group(4)passwd(4)attributes(5)

附注

getfacl 的输出必须处于正确格式,才能作为 setfacl –f 命令的输入。如果 getfacl 的输出被重定向到某个文件,则该文件可用作 setfacl 的输入。这样,用户可以轻松将一个文件的 ACL 分配给另一个文件。