如何知道文件何时添加了 ACL
ls -l 命令将产生如下所示的输出。
请注意权限末尾的 + 号。
这确认文件添加了 ACL。
# ls -l -rw-r--r-+ 1 root root 0 Sep 19 14:41 file
删除 FACL
要删除 ACL,请使用带有 -x 选项的 setfacl 命令:
# setfacl -x u:john /tmp/test
上述命令删除文件 /tmp/test 上用户 john 的 ACL。
其他用户/组的 ACL(如果有)不受影响。
要删除与文件关联的所有 ACL,请使用带有 setfacl 的 -b 选项:
# setfacl -b /tmp/test
文件访问控制列表 (FACL - file access control list) 或者简称 ACL 是添加用户/组及其对文件的权限的列表。
尽管默认文件权限可以完美地完成它们的工作,但它不允许我们为同一文件的多个用户或者一组授予权限。
查看 ACL
要显示文件的详细 ACL 信息,请使用 getfacl 命令。
如果仔细观察,用户 sam 和 john 有一些另外的权限(突出显示)。
默认用户/组权限使用“user::permission”和“group::
# getfacl /tmp/test # file: test # owner: root # group: root user::rw user:john:rw user:sam:rwx group::r- mask::rwx other:--
相反,如果我们在“无 ACL”的文件上检查 ACL,则不会显示另外的“user:”行和“mask”行,并且将显示标准文件权限。
:
# getfacl test # file: test # owner: root # group: root user::rw group::r- other::r-
默认 ACL
通过设置默认 ACL,我们将确定将为目录中创建的所有新项目设置的权限。
但现有文件和子目录的权限保持不变。
要在目录上创建默认 FACL:
# setfacl -m default:u:john:rw /accounts
注意 getfacl 命令中的默认权限:
# getfacl accounts/ # file: accounts/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:john:rw default:group::r-x default:mask::rwx default:other::r-x
欢迎 on
it
road
创建和管理 FACL
setfacl 命令用于在给定文件上设置 ACL。
要授予用户 john 对文件 /tmp/test 的 rw 访问权限:
# setfacl -m u:john:rw /tmp/test
-m 选项告诉 setfacl 修改命令行中提到的文件上的 ACL。
我们可以有一个组来对文件具有特定权限,而不是用户 john:
# setfacl -m g:accounts:rw /tmp/test
也可以使用单个命令设置多个用户和组的 FACL:
# setfacl -m u:john:rw,g:accounts:rwx /tmp/test
日期:2020-09-17 00:12:58 来源:oir作者:oir