Linux之ACL权限管理

文章目录

  • 1.ACL权限介绍
  • 二、操作步骤
    • 1. 添加测试目录、用户、组,并将用户添加到组
    • 2. 修改目录的所有者和所属组
    • 3. 设定权限
    • 4. 为临时用户分配权限
    • 5. 验证acl权限
    • 6. 控制组的acl权限

1.ACL权限介绍

每个项目成员有一个自己的项目目录,对自己的目录有完全权限
项目组中的成员对项目目录也有完全权限
其他人对项目目录没有任何权限
对于被分配进入项目的临时人员,只有读和执行权限,不能修改

二、操作步骤

在这里插入图片描述

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

第一步:创建文件夹(查询是否创建成功ll,东西太多用管道符)

第二步:创建用户(可以是多个,用户=员工,张三zs、李四ls)

第三步:创建组(tgroup组名字)

第四步:把员工放到一个组里(-a追加和添加的意思 可以查看是否加进去 cat /etc/group)
[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

2. 修改目录的所有者和所属组

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

3. 设定权限

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

4. 为临时用户分配权限

4.1 添加临时用户

[root@localhost ~]# useradd tempuser
[root@localhost ~]# passwd tempuser
4.2 为临时用户分配特定权限

[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::—
4.3 查看目录权限,注意+,表示文件或目录有acl权限

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

5. 验证acl权限

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

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

6. 控制组的acl权限

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

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

[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
6.5 将用户添加到temp组中

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/487054.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab|计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度

1 主要内容 该程序参考《计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度》模型,主要实现的是计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度模型。通过引入碳捕集电厂–电转气–燃气机组协同利用框架,碳捕集的CO2 可作为电转气原料&#xf…

threehit漏洞复现以及防御

说白了跟sql-liql靶场二次注入一样,也是一个转义函数而这次是,入库的时候不转义,出库的时候会转义导致这个漏洞出现 开始测试: 这是我注册完test刚登录的情况 找注入点更新数据的update,很容易找到在age段 这次我注册…

下载 axios.js 文件到本地【linux】

方式一 npm install axios在$NODE_PATH/node_modules/axios/dist路径下即可找到axios.js。 方式二 1、百度搜索 GitHub 官网:https://github.com/ 2、搜索 axios 3、点击 axios/axios 4、下载到本地 5、解压,进入到 dist 文件夹** 参考&#x…

多任务爬虫(多线程和多进程)

在一台计算机中,我们可以同时打开多个软件,例如同时浏览网页、听音乐、打字等,这是再正常不过的事情。但仔细想想,为什么计算机可以同时运行这么多软件呢? 这就涉及计算机中的两个名词:多进程和多线程。 同样&#xf…

mybatis常用标签

一.定义sql语句 1.select 标签 属性介绍: (1)id :唯一的标识符. (2)parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user (3)resultType :语句返回值类型或别名。注意&#xff…

ico图片怎么制作(图片怎么变成ico格式)

ico图片一般命名为favicon.ico,主要用于作为缩略的网站标志,显示在浏览器的地址栏或者在标签中,一般用网站logo来制作。那么ico图片怎么制作?Logo图片怎么变成ico格式?下面boke112百科就跟大家说一说ico图片制作步骤&a…

MATLAB中的稀疏矩阵和密集矩阵

在MATLAB中,矩阵可以表示为密集或稀疏格式。通常,矩阵默认以密集格式存储,这意味着每个元素都明确地存储在内存中,无论它的值是多少。然而,当矩阵含有大量的零元素时,这种存储方式就会变得非常低效。为了更…

RabbitMQ监控方法以及核心指标

RabbitMQ监控方法以及核心指标 1. 监控指标采集2. 使用rabbimq插件采集指标2.1 3.8.0之前版本,使用外部插件暴露2.2 3.8.0之后版本,使用内置插件暴露 3. 使用rabbitmq_exporter采集指标3.1 部署rabbitmq_exporter3.2 prometheus采集rabbitmq_exporter的暴…

Open CASCADE学习|绘制砂轮

今天绘制一个砂轮,其轮廓由两条直线段和两段圆弧构成,圆弧分别与直线相切,两条圆弧之间相交而非相切。建模思路是:先给定两条直线段的起始点及长度,画出直线段,然后给定其中一圆弧的半径及圆心角&#xff0…

【Docker快速入门】Docker部署MySQL

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

如何在nginx增加健康检查接口

在docker中部署的nginx或者在nginx部署的nginx一般是需要一个健康检查接口的 这样的话,就可以确定容器当前的状态是否是健康的 那么,如何给nginx增加一个健康检查的接口呢? 接下来呢,我们就演示一个在nginx中如何增加健康检查的…

Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux驱动演进的过程 Linux驱动的原始架构(Linux V2.4) 平台总线架构(platform) Linux设备树 Linux驱动演进的趋势 Linux驱动演进的过程…