Linux ACL权限设置(setfacl和getfacl)

您所在的位置:网站首页 root账户为什么不能删除 Linux ACL权限设置(setfacl和getfacl)

Linux ACL权限设置(setfacl和getfacl)

#Linux ACL权限设置(setfacl和getfacl)| 来源: 网络整理| 查看: 265

首页 > Linux > Linux权限管理 Linux ACL权限设置(setfacl和getfacl)   通过上一节的学习,我们知道了什么是 ACL 权限,也了解了如何配置 Linux 系统使其开启 ACL 权限,本节来学习 ACL 设定文件访问权限的具体方法。 设定 ACl 权限,常用命令有 2 个,分别是 setfacl 和 getfacl 命令,前者用于给指定文件或目录设定 ACL 权限,后者用于查看是否配置成功。 getfacl 命令用于查看文件或目录当前设定的 ACL 权限信息。该命令的基本格式为:

[root@localhost ~]# getfacl 文件名

getfacl 命令的使用非常简单,且常和 setfacl 命令一起搭配使用。 setfacl 命令可直接设定用户或群组对指定文件的访问权限。此命令的基本格式为:

[root@localhost ~]# setfacl 选项 文件名

表 1 罗列出了该命令可以使用的所用选项及功能。 表 1 setfacl 命令选项及用法 选项 功能 -m 参数 设定 ACL 权限。如果是给予用户 ACL 权限,参数则使用 "u:用户名:权限" 的格式,例如 setfacl -m u:st:rx /project 表示设定 st 用户对 project 目录具有 rx 权限;如果是给予组 ACL 权限,参数则使用 "g:组名:权限" 格式,例如 setfacl -m g:tgroup:rx /project 表示设定群组 tgroup 对 project 目录具有 rx 权限。 -x 参数 删除指定用户(参数使用 u:用户名)或群组(参数使用 g:群组名)的 ACL 权限,例如 setfacl -x u:st /project 表示删除 st 用户对 project 目录的 ACL 权限。 -b 删除所有的 ACL 权限,例如 setfacl -b /project 表示删除有关 project 目录的所有 ACL 权限。 -d 设定默认 ACL 权限,命令格式为 "setfacl -m d:u:用户名:权限 文件名"(如果是群组,则使用 d:g:群组名:权限),只对目录生效,指目录中新建立的文件拥有此默认权限,例如 setfacl -m d:u:st:rx /project 表示 st 用户对 project 目录中新建立的文件拥有 rx 权限。 -R 递归设定 ACL 权限,指设定的 ACL 权限会对目录下的所有子文件生效,命令格式为 "setfacl -m u:用户名:权限 -R 文件名"(群组使用 g:群组名:权限),例如 setfacl -m u:st:rx -R /project 表示 st 用户对已存在于 project 目录中的子文件和子目录拥有 rx 权限。 -k 删除默认 ACL 权限。 setfacl -m:给用户或群组添加 ACL 权限 回归上一节案例,解决方案如下: 老师使用 root 用户,并作为 /project 的所有者,对 project 目录拥有 rwx 权限; 新建 tgroup 群组,并作为 project 目录的所属组,包含本班所有的班级学员(假定只有 zhangsan 和 lisi),拥有对 project 的 rwx 权限; 将其他用户访问 project 目录的权限设定为 0(也就是 ---)。 对于试听学员 st 来说,我们对其设定 ACL 权限,令该用户对 project 拥有 rx 权限。 具体的设置命令如下:

[root@localhost ~]# useradd zhangsan [root@localhost ~]# useradd lisi [root@localhost ~]# useradd st [root@localhost ~]# groupadd tgroup



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3