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--
相关推荐
小蜗牛慢慢爬行1 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
秋名山小桃子4 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉121385 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
MARIN_shen7 分钟前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
岑梓铭11 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉12 分钟前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei15 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
goTsHgo31 分钟前
在 Spring Boot 的 MVC 框架中 路径匹配的实现 详解
spring boot·后端·mvc
7yewh31 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
Arenaschi35 分钟前
在Tomcat中部署应用时,如何通过域名访问而不加端口号
运维·服务器