linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list)

复制代码
假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑:
方法一:给/data的其他人增加rwx权限
方法二:将tom加入到root组中,并为root组分配rwx权限
复制代码
ACL文件权限管理:对不同用户设置不同的基本权限(rwx),可设置对象数量不同
ACL是UGO的补充,优先级别比UGO高。

3.2.1 setfacl

复制代码
setfacl命令可以用来细分linux下的文件权限,可以对每一个文件或目录设置更精确的文件权限,setfacl可以更精确的控制权限的分配。比如:让某一个用户对某一个文件具有某种权限。
​
ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。
如,某一个文件,不让单一的某个用户访问。

setfacl命令的基本语法如下:

复制代码
setfacl [选项] [目录|文件]

参数说明

  • -m:设置后续acl参数

  • -x:删除后续acl参数

  • -b:删除全部的acl参数

  • -k:删除默认的acl参数

  • -R:递归设置acl,包括子目录

  • -d:设置默认acl

例:

为用户sam设置文件file1的读写权限,为li设置无权限

复制代码
useradd sam
useradd li
setfacl -m  u:sam:rw    /tmp/file1
setfacl -m  u:li:-  /tmp/file1
#        对象:对象名:权限

为组group2设置文件file1的读写执行权限

复制代码
setfacl -m  g:group2:rwx    /tmp/file1

将其他人对文件file1的权限设置为可读写

复制代码
setfacl -m  o::rw   /tmp/file1

删除sam对文件file1的权限

复制代码
setfacl -x  u:sam   /tmp/file1

删除文件file1所有扩展访问权限

复制代码
setfacl -b  /tmp/file1

3.2.2 getfacl

复制代码
使用getfacl命令可以查看文件的ACL信息。对于每一个文件和目录,getfacl命令显示文件的名称、用户所有者、组群所有者和访问控制列表(ACL)。

getfacl命令的基本语法如下:

复制代码
getfacl [选项] [目录|文件]

参数说明

  • -a: --access,仅显示文件访问控制列表。

  • -d:--default,仅显示默认的访问控制列表。

  • -c: --omit-header,不显示注释表头。

  • -e:--all-effective,打印所有有效权限注释,即使与 ACL 条目定义的权限相同。

  • -E:--no-effective,显示无效权限。

  • -s:--skip-base,跳过仅包含基本 ACL 条目(owner、group 和 others)的文件。

  • -R:--recursive,递归显示子目录。

例:

查看文件file1的ACL信息

复制代码
[root@centos-1 ~]# getfacl /tmp/file1 
getfacl: Removing leading '/' from absolute path names
# file: tmp/file1
# owner: 1008
# group: root
user::rw-
group::r--
other::r--
相关推荐
为美好的生活献上中指几秒前
java每日精进 5.11【WebSocket】
java·javascript·css·网络·sql·websocket·网络协议
三天不学习1 分钟前
如何配置光猫+路由器实现外网IP访问内部网络?
网络·tcp/ip·智能路由器
charlie11451419126 分钟前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理
Persistence___34 分钟前
SpringBoot中的拦截器
java·spring boot·后端
嘵奇1 小时前
Spring Boot 跨域问题全解:原理、解决方案与最佳实践
java·spring boot·后端
Caron_xcb1 小时前
大数据——解决Matplotlib 字体不足问题(Linux\mac\windows)
大数据·linux·matplotlib
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
愚润求学2 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记
what_20182 小时前
分布式链路跟踪
java·运维·分布式
EasyDSS2 小时前
AI智能分析网关V4助力工厂/工地/车间/能源矿山场景玩手机行为精准检测与安全生产智能化监管
网络·人工智能