当前位置: 首页 > news >正文

Linux:ACL权限,特殊位和隐藏属性

目录

一.什么是ACL

二.操作步骤

 ① 添加测试目录、用户、组,并将用户添加到组

② 修改目录的所有者和所属组

③ 设定权限

 ④ 为临时用户分配权限

⑤ 验证acl权限

⑥ 控制组的acl权限

三. 删除ACL权限


一.什么是ACL

访问控制列表 (Access Control List):ACL 通常指访问控制列表。这是一种权限系统,用于定义对计算机资源(例如文件、文件夹、网络资源等)的访问权限。ACL 列出了被授权或被禁止访问某一资源的用户或系统进程的清单。

二.操作步骤

 ① 添加测试目录、用户、组,并将用户添加到组

[root@localhost ~]# mkdir /project
[root@localhost ~]# useradd zs
[root@localhost ~]# useradd ls
[root@localhost ~]# groupadd tgroup
[root@localhost ~]# gpasswd -a zs tgroup
正在将用户“zs”加入到“tgroup”组中
[root@localhost ~]# gpasswd -a ls tgroup
正在将用户“ls”加入到“tgroup”组中

 查看组是否正常建立

cat /etc/group

② 修改目录的所有者和所属组

[root@localhost ~]# chown root:tgroup /project
[root@localhost ~]# ll -d /project
drwxr-xr-x. 2 root tgroup 6 2月  23 18:35 /project

③ 设定权限

[root@localhost ~]# chmod 770 /project
[root@localhost ~]# ll -d /project
drwxrwx---. 2 root tgroup 6 2月  23 18:35 /project

 ④ 为临时用户分配权限

添加临时用户

[root@localhost ~]# useradd tempuser
[root@localhost ~]# passwd tempuser

为临时用户分配特定权限

[root@localhost ~]# setfacl -m u:tempuser:rx /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
mask::rwx
other::---

查看目录权限,注意+,表示文件或目录有acl权限

[root@localhost ~]# ll -d /project
drwxrwx---+ 2 root tgroup 6 2月  23 18:35 /project

⑤ 验证acl权限

切换到临时用户tempuser

[root@localhost ~]# su tempuser
[tempuser@localhost root]$

验证可以进入project目录

[tempuser@localhost root]$ cd /project
[tempuser@localhost project]$

 验证不能在project中创建文件

[tempuser@localhost project]$ touch test.txt
touch: 无法创建"test.txt": 权限不够

⑥ 控制组的acl权限

创建一个temp组

[tempuser@localhost project]$ su root
密码:
[root@localhost project]# groupadd temp

 设置组的acl

[root@localhost project]# setfacl -m g:temp:rx /project

 查看设置后acl

[root@localhost project]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
group:temp:r-x
mask::rwx
other::---

 创建一个用户

[root@localhost project]# useradd tempu02
[root@localhost project]# passwd tempu02

将用户添加到temp组中

[root@localhost project]# gpasswd -a tempu02 temp
正在将用户“tempu02”加入到“temp”组中

验证

[root@localhost project]# su tempu02
#可以进入目录
[tempu02@localhost project]$ cd /project
#不能创建文件
[tempu02@localhost project]$ touch aa.txt
touch: 无法创建"aa.txt": 权限不够

三. 删除ACL权限

 # 删除指定ACL权限
[root@localhost ~]# setfacl -x u:tempuser /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
group::rwx
group:temp:r-x
mask::rwx
other::---
# 删除所有ACL权限
[root@localhost ~]# setfacl -b /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
+
user::rwx
group::rwx
other::---
# 注意: 权限没有 + 
[root@localhost ~]# ll -d /project
drwxrwx---. 2 root tgroup 6 8月  23 13:07 /project


                                        今天就到这里了哦希望能帮到你哦!!!! 

http://www.lryc.cn/news/306929.html

相关文章:

  • FL Studio21中文版本价格多少?值不值得购买?
  • 【论文阅读】ICCV 2023 计算和数据高效后门攻击
  • JavaAPI常用类03
  • SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别
  • 【深度学习目标检测】十九、基于深度学习的芒果计数分割系统-含数据集、GUI和源码(python,yolov8)
  • 骑砍战团MOD开发(48)-多人联机模式开发环境搭建
  • Java+SpringBoot+Vue+MySQL:美食推荐系统的技术革新
  • 【服务发现--ingress】
  • Yolov8有效涨点:YOLOv8-AM,添加多种注意力模块提高检测精度,含代码,超详细
  • 苹果分拣检测YOLOV8NANO
  • 使用 Verilog 做一个可编程数字延迟定时器 LS7211-7212
  • 戏说c语言文章汇总
  • 面试redis篇-12Redis集群方案-分片集群
  • 【Java EE初阶二十三】servlet的简单理解
  • c++ http操作接口
  • oracle官网下载早期jdk版本
  • Python爬虫实战:图片爬取与保存
  • CMS垃圾回收器
  • 【力扣白嫖日记】184.部门工资最高的员工
  • JAVA讲解算法-排序算法-选择排序算法-02
  • 【初始RabbitMQ】高级发布确认的实现
  • 用39块钱的全志V851se视觉开发板做了个小相机,还可以物品识别、自动追焦!
  • 主从复制实现Redis集群
  • 高分文献解读|3D打印骨支架实现梯度密度颌骨功能性重建
  • 大型电商日志离线分析系统(一)
  • FL Studio Fruity Edition2024中文入门版Win/Mac
  • 学习vue3第二节(使用vite 创建vue3项目)
  • 基于Siamese网络的zero-shot意图分类
  • Java架构师之路五、微服务:微服务架构、服务注册与发现、服务治理、服务监控、容器化等。
  • [计算机网络]--IP协议