使用setfacl和getfacl管理Linux 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

猜你喜欢

转载自blog.csdn.net/allway2/article/details/107423650