使用setfacl和getfacl管理Linux ACL

本文详细介绍如何使用setfacl命令为单个用户或组分配、撤销访问控制列表(ACL)权限,以及如何复制和恢复文件及目录的ACL设置,是系统管理员必备的技能。

1.为单个用户提供ACL
假设您要授予目录“ test_folder”上的用户“ test”(可以是任何用户)的完全访问权限。可以使用setfacl如下进行操作。
# setfacl -m u:test:rwx test_folder/

# getfacl test_folder/
# file: test_folder/
# owner: root
# group: root
user::rwx
user:test:rwx
group::r-x
mask::rwx
other::r-x
2.为组中的所有用户提供ACL
如果要为“ testg ” 组的所有用户提供对文件夹“ test_folder”的写访问权限,则可以通过以下方式进行。
# setfacl -m g:testg:w test_folder/
  
# getfacl test_folder/
# file: test_folder/
# owner: root
# group: root
user::rwx
user:test:rwx
group::r-x
group:testg:-w-
mask::rwx
other::r-x
3.撤销用户/组的ACL
如果要撤销我们为用户测试和组testg赋予的权限,可以使用setfacl命令,如下所示。
# setfacl -x u:test,g:testg test_folder/

# getfacl test_folder/
# file: test_folder/
# owner: root
# group: root
user::rwx
group::r-x
mask::rwx
other::r-x
4.将一个文件/目录的ACL复制到另一个
假设您也希望在test_folder1上具有相同的test_folder ACL集,则可以通过如下复制ACL进行设置。
# getfacl test_folder/ > acl.txt
# mkdir test_folder1
# setfacl -M acl.txt test_folder1/
# getfacl test_folder1/
# file: test_folder1/
# owner: root
# group: root
user::rwx
user:test:rwx
group::r-x
group:testg:-w-
mask::rwx
other::r-x

5.备份恢复包含子目录的权限
假设您需改一些文件权限后希望能恢复为修改之前在test上具有的test ACL集,则可以通过如下备份恢复ACL进行设置。

得到 test 下的所有文件和子目录的权限表文件.
# getfacl -R test_folder/ > acl.txt

恢复 test 下的所有文件和子目录的权限
# setfacl --restore=acl.txt

如果备份恢复整个文件系统的所有文件和子目录的权限,可以使用如下命令
# getfacl -R / > acl.txt

# setfacl --restore=acl.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值