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--
相关推荐
笑口常开xpr5 小时前
Linux 库开发入门:静态库与动态库的 2 种构建方式 + 5 个编译差异 + 3 个加载技巧,新手速看
linux·c语言·动态库·静态库
小虾米vivian5 小时前
达梦:将sql通过shell脚本的方式放在后台执行
服务器·数据库·sql
weixin_436525075 小时前
Spring Boot 集成 EasyExcel 的最佳实践:优雅实现 Excel 导入导出
java·spring boot·后端
SonOfWind03115 小时前
CentOS搭建本地源
linux·运维·centos
ChinaRainbowSea5 小时前
9. LangChain4j + 整合 Spring Boot
java·人工智能·spring boot·后端·spring·langchain·ai编程
IT成长日记5 小时前
【Nginx开荒攻略】Nginx主配置文件结构与核心模块详解:从0到1掌握nginx.conf:
linux·运维·nginx·配置文件
Nimsolax6 小时前
Linux线程控制
linux
代码的余温6 小时前
Web服务器VS应用服务器:核心差异解析
运维·服务器·前端
Light606 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度(一气呵成)
linux·spring boot·pdf·gpcl6/ghostpcl·s3/oss·权限与审计·异步与进度
shengjk16 小时前
一文搞懂 Flink2.x 分离式状态管理
后端