
Linux ACL权限设置(setfacl和getfacl)(转)
2. 为
发布日期:2021-05-17 17:55:19
浏览次数:16
分类:精选文章
本文共 2305 字,大约阅读时间需要 7 分钟。
ACL权限控制在Linux系统中是一个非常重要的功能,可以帮助管理员灵活地管理文件和目录的访问权限。本文将详细介绍如何通过setfacl
和getfacl
命令来设置和查看ACL权限。
getfacl命令简介
getfacl
命令用于查看文件或目录当前设定的ACL权限信息。它的基本格式如下:
[root@localhost ~]# getfacl 文件名
例如:
[root@localhost /]# getfacl projectfile: projectowner: rootgroup: tgroupuser:: rwxuser: st: r-xgroup:: rwxmask:: rwxother:: ---
从上述输出可以看出,getfacl
命令会显示文件或目录的所有者、所属组,以及从高到低依次列出用户、组和其他身份的权限。
setfacl命令简介
setfacl
命令用于设定文件或目录的ACL权限。它的基本格式为:
[root@localhost ~]# setfacl 选项 文件名
setfacl
命令支持多个选项,以下是常用的参数:
1. -m 参数(设定ACL权限)
-
给用户或群组添加ACL权限。
-
格式为“
u:用户名:权限
”(用户权限)或“g:组名:权限
”(组权限)。 -
示例:
[root@localhost ~]# setfacl -m u:st:rx /project
表示给
st
用户授予/project
目录的rx
权限。如果是为组设置权限,则使用相应的格式:
[root@localhost ~]# setfacl -m g:tgroup:rx /project
2. -x 参数(删除ACL权限)
- 删除指定用户或群组的ACL权限。
- 格式为“
u:用户名
”(用户)或“g:组名
”(组)。 - 示例:
[root@localhost ~]# setfacl -x u:st /project
3. -b 参数(删除所有ACL权限)
- 删除指定文件或目录的所有ACL权限。
- 示例:
[root@localhost ~]# setfacl -b /project
4. -d 参数(设定默认ACL权限)
- 只对目录生效,新建文件会继承此权限。
- 格式为“
d:类型:对象:权限
”。 - 示例:
[root@localhost ~]# setfacl -m d:u:st:rx /project
5. -R 参数(递归设定ACL权限)
- 设定ACL权限对子文件和子目录生效。
- 示例:
[root@localhost ~]# setfacl -m u:st:rx -R /project
6. -k 参数(删除默认ACL权限)
- 取消目录的默认ACL权限。
- 示例:
[root@localhost ~]# setfacl -k /project
案例:为试听学生分配ACL权限
假设:
st
是试听学生,将为其分配对/project
目录的rx
权限。/project
目录的所有者为root
,所属组为tgroup
,其他用户权限为0
(未授权)。
1. 新建用户和组
[root@localhost ~]# useradd st[root@localhost ~]# groupadd tgroup[root@localhost ~]# chown root:tgroup /project[root@localhost ~]# chmod 770 /project
2. 为st
用户分配权限
[root@localhost ~]# setfacl -m u:st:rx /project
3. 验证权限
[root@localhost /]# cd /project[root@localhost project]# getfacl project
输出显示:
file: projectowner: rootgroup: tgroupuser:: rwxuser: st: r-xgroup:: rwxmask:: rwxother:: ---
通过getfacl
可以看到,st
用户被授予了rx
权限。
递归ACL权限与默认权限
1. 设定递归ACL权限
- 递归ACL权限确保父目录的权限对已存在的子文件和子目录生效。
- 示例:
[root@localhost project]# setfacl -m u:st:rx -R /project
递归ACL权限设置后,
/project
目录的子文件和子目录会继受权限。
2. 设定默认ACL权限
- 默认 ACL权限会自动应用到新建的文件和目录。
- 示例:
[root@localhost project]# setfacl -m d:u:st:rx project
新建文件(如
bcd
)会继承st
用户的rx
权限。
3. 删除递归ACL权限
- 使用
-R
标记可以清除递归设置:[root@localhost project]# setfacl -m u:st:rx -R /project
常见操作
删除用户的ACL权限
[root@localhost /]# setfacl -x u:st project
删除所有ACL权限
[root@localhost /]# setfacl -b project
清除默认ACL权限
[root@localhost /]# setfacl -k project
通过setfacl
和getfacl
命令,可以灵活地管理文件和目录的ACL权限。理解这些命令的使用方法,可以帮助您更高效地管理文件和目录的访问权限。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月18日 01时23分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JSP中的九大内置对象
2019-03-14
linux下压缩和解压命令
2019-03-14
【字节网盘】九款超好看不同页面404源码
2019-03-14
WordPress主题Ashade2.0摄影展示 图片展示主题
2019-03-14
两款404页面自动跳转源码html
2019-03-14
老黄历小程序源码前端实例(亲测可用)
2019-03-14
二改广告横幅在线制作源码 美化版
2019-03-14
炫彩文字404动画页面源码
2019-03-14
服饰贴图定制小程序V1.2.4安装更新一体包+小程序前端
2019-03-14
一款好看新颖的404页面源码
2019-03-14
萝卜影视 无错版分享
2019-03-14
纯CSS实现非常好看的图片轮播演示
2019-03-14
快乐是福二级域名分发网美化版源码
2019-03-14
创意沙雕黑色蝙蝠侠/小丑动态404页面源码
2019-03-14
使用Mac OS X如何开启和配置防火墙
2019-03-14
格式化Mac硬盘---DoYourData Super Eraser安全、快速
2019-03-14
MacOS磁盘分区出错的解决办法
2019-03-14
MacOS 应对系统无响应的方法
2019-03-14
使用KeyShot调整一个场景中的照明亮度
2019-03-14
如何在Mac上使用听写进行语音到文本的键入
2019-03-14