博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统setacl、getacl命令使用方法,以及mask权限作用。
阅读量:4416 次
发布时间:2019-06-07

本文共 2999 字,大约阅读时间需要 9 分钟。

setfacl 命令设置ACL权限。getfacl 命令用于显示文件上设置的 ACL 信息。

ACL( Access Control List (访问控制列表))提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制。通俗来讲,基于普通文件或目录设置 ACL 其实就是针对指定的用户或用户组设置文件或目录的操作权限。


getfacl命令格式

getfacl [参数] [目标文件名]

一般用到的参数有以下几种

参数 作用
a 仅显示文件acl
d 仅显示默认的acl
R 递归显示子目录acl

setfacl命令格式

setfacl [参数] [ugm]:[用户名]:[rwx] [目标文件名]

第二栏参数,u代表用户,g代表群组,而使用m参数可修改最大有效访问权限


setfacl参数

参数 作用
m 设置acl参数,不可与-x合用
x 删除acl参数
b 删除全部的acl参数
R 针对目录设置acl权限,其子目录会继承其权限,需要与m、x等结合使用
d 为目录添加默认acl,需要与m结合使用
k 删除默认的acl参数

下面对一些常用命令进行展示

用于测试的用户:root、wang

用于测试的样例文件关系

  • ~
    • testsetfacl
      • test
      • testfacl.txt

获取testsetfacl的acl权限

[root@master ~]# getfacl testsetfacl# file: testsetfacl        文件名# owner: root              文件所有者,ls -l 第三列信息# group: root              文件所属群组, ls -l 第四列信息user::rwx                  所有者权限group::r-x                 所属群组权限other::r-x	               其他用户权限

查看用户wang的权限

[root@master ~]# su wang[wang@master root]$ cd testsetfacl  可以进入testsetfacl文件[wang@master testsetfacl]$ exit

修改wang用户的权限为0

[root@master ~]# setfacl -Rm u:wang:--- testsetfacl[root@master ~]# getfacl -R testsetfacl# file: testsetfacl# owner: root# group: rootuser::rwxuser:wang:---                       #增加了此行,权限为0group::r-xmask::r-xother::r-x# file: testsetfacl/test# owner: root# group: rootuser::rwxuser:wang:---group::r-xmask::r-xother::r-x# file: testsetfacl/testsetfacl.txt# owner: root# group: rootuser::rw-user:wang:---group::r--mask::r--other::r--

切换到wang用户,执行cd命令,wang用户已经不能进入testsetfacl目录

在这里插入图片描述


尝试修改预设acl

[root@master ~]# setfacl -dm u:wang:rwx testsetfacl[root@master ~]# getfacl -R testsetfacl# file: testsetfacl# owner: root# group: rootuser::rwxuser:wang:---group::r-xmask::r-xother::r-xdefault:user::rwx             #testsetfacl增加了五行defaultdefault:user:wang:rwx         #即预设acl,在其下创建子目录default:group::r-x            #会继承预设acl,default:mask::rwxdefault:other::r-x# file: testsetfacl/test# owner: root# group: rootuser::rwxuser:wang:---group::r-xmask::r-xother::r-x# file: testsetfacl/testsetfacl.txt# owner: root# group: rootuser::rw-user:wang:---group::r--mask::r--other::r--

测试目录文件继承效果

[root@master ~]# cd testsetfacl[root@master testsetfacl]# mkdir testd[root@master testsetfacl]# getfacl testd# file: testd# owner: root# group: rootuser::rwxuser:wang:rwxgroup::r-xmask::rwxother::r-xdefault:user::rwxdefault:user:wang:rwxdefault:group::r-xdefault:mask::rwxdefault:other::r-x#创建的目录完全继承了testsetfacl的预设acl#注意,若文件夹或文件在增加预设acl前就已经创建,则其不会继承#预设acl,其子文件及目录也不会继承。

测试一般文件继承效果

[root@master testsetfacl]# touch test.txt[root@master testsetfacl]# getfacl test.txt# file: test.txt# owner: root# group: rootuser::rw-user:wang:rwx                   #effective:r--group::r-x                      #effective:r--mask::r--other::r--#一般文件则只继承群组和特定用户acl,其他权限则和#没有acl的情况下创建文件的权限一样

从以上命令结果可以看到增加了effective一栏信息,实际上是与mask一行权限有关。mask一行即为最大有效访问权限,作用是控制文件的访问权限,其他用户或组设定ACL实际权限都是与mask最大有效权限相与的结果。test.txt 文件的mask权限为 :r-- 。group和指定用户wang 的权限虽为 r-x、rwx,但与 r-- 相与运算后 ,均为 r–。只能读取test.txt。

修改默认mask权限可通过以下命令。

setfacl -Rm m:---  testsetfacl

转载于:https://www.cnblogs.com/whason/p/10778085.html

你可能感兴趣的文章
grunt 参数说明
查看>>
C#写Windows Service(windows服务程序)
查看>>
hdoj--1166--敌兵布阵(线段树)
查看>>
JQuery中的工具函数总结
查看>>
汉诺塔变种问题
查看>>
find命令专辑
查看>>
java 多参实现
查看>>
java读取 500M 以上文件,java读取大文件
查看>>
【OI】计算分子量 Molar mass UVa 1586 题解
查看>>
cocos creator切换场景闪退_CocosCreator 加载与切换场景、定时器的使用 (第七篇)
查看>>
蓝牙杂散超标_【蓝牙Mesh】精品系列之九——带内杂散(In-band emissions)
查看>>
linux驱动 pcie 框架_百度昆仑芯片内推AI软件工程师/框架编译工程师/驱动和固件工程师/解决方案架构师/商务销售...
查看>>
django页面循环_Python 之 Django 的入门(下)
查看>>
把所有圆圈连接起来的游戏_【小伙伴第一幼儿园】幼儿园户外游戏大全!好玩易操作,赶紧收藏!...
查看>>
pyecharts显示图片_简单易操作,用 pyecharts 可视化你的微信好友信息
查看>>
最后生成神么格式的代码_还记得我之前的代码生成工具么,这次我又给它升级了...
查看>>
es5的data语法_es5/es6中新增的方法
查看>>
python将日期转换为时间戳_将日期时间转换为时间戳并返回
查看>>
java 后台校验_JAVA 后台数据校验
查看>>
java多线程同步和异步_Java多线程学习笔记(三)同步和异步
查看>>