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://xiahunao.cn/news/2803953.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Django】Django自定义后台表单——对一个关联外键对象同时添加多个内容

以官方文档为例: 一个投票问题包含多个选项,基本的表单设计只能一个选项一个选项添加,效率较低,如何在表单设计中一次性添加多个关联选项? 示例代码: from django.contrib import adminfrom .models impo…

森林安全新保障:智能高压应急消防泵的应用

随着城市化进程的加快,森林资源的保护和利用日益受到重视。然而,森林火灾时有发生,给生态环境带来严重破坏。为了有效应对森林火灾,保障森林资源安全,智能高压森林应急消防泵应运而生,成为守护绿色生命的钢…

Python列表:灵活多变的数据结构

文章目录 一、列表1.创建列表2.访问列表元素3.修改列表元素4.添加元素5.删除元素 二、列表脚本操作符1.连接运算符 2.重复运算符 * 三、列表函数&方法1.函数1.1 len() 函数1.2 max() 函数1.3 min() 函数1.4 sum() 函数1.5 list() 函数 2.方法2.1 append() 方法2.2 extend()…

DSL Query基本语法

DSL Query基本语法 查询的基本语法如下: GET /indexName/_search {"query":{"查询类型":{"查询条件":"条件值"}} }查询所有 GET /indexName/_search {"query":{"match_all":{}} }match查询&#xf…

2、Web攻防-SQL注入-联合查询注入

用途:个人学习笔记,有所借鉴,欢迎指正! 声明:只用于学习交流,点到为止,请勿非法测试。 概念: 联合查询注入:联合注入是回显注入的一种,也就是说联合注入的前…

Gemma模型论文详解(附源码)

原文链接:Gemma模型论文详解(附源码) 1. 背景介绍 Gemma模型是在2023.2.21号Google新发布的大语言模型, Gemma复用了Gemini相同的技术(Gemini也是Google发布的多模态模型),Gemma这次发布了了2B和7B两个版本的参数,不…

嵌入式Linux中apt、apt-get命令用法汇总

在Linux环境开发过程中接触ubuntu虚拟机时,在安装软件或者更新软件时apt和apt-get命令使用相对较频繁,下面对这两个命令的用法进行汇总。 apt(Advanced Package Tool)和 apt-get 是用于在基于 Debian 的 Linux 发行版中进行软件包…

什么是favicon.ico图标?如何在线生成ICO图标?如何安装favicon.ico图标?

在本站首页的活跃博客中经常看到有部分博客网站没有 favicon.ico 图标,所以今天打算普及一下相关知识,希望还没有 favicon.ico 图标的博主们,能够制作出自己独特的图标。 那么到底什么是favicon.ico? 好搜百科给出的解释&#xf…

electron学习和新建窗口

首先我们要先下载electron npm install --save-dev electron 建立入口文件main.js 新建一个入口文件 main.js,然后导入eletron新建一个窗口。 const { app, BrowserWindow, ipcMain } require("electron"); const path require("path");func…

Nginx 反向代理配置

Nginx就不废话了,web服务器。 最近在备案一个域名,想要备案,部署一个服务器,平常很少自己配置Nginx,今天记录下。 1、反向代理 正向代理 指 客户端通过代理访问后端服务 反向代理 指 服务器推出一个客户&#xff0…

6.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-通过逆向分析确定游戏明文发送数据过程

内容参考于:易道云信息技术研究院VIP课 上一个内容:测试需求与需求拆解 在开始之前要了解一个小知识,在逆向开始之前要很清楚知道要找的东西是什么,大概长什么样子,只有这样才能看到它第一眼发现它,现在我…

Unable to make field private JavacProcessingEnvironment$DiscoveredPro报错解决办法

maven项目打包报错 报错信息 Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not &q…

[论文精读]Do Transformers Really Perform Bad for Graph Representation?

论文网址:[2106.05234] Do Transformers Really Perform Bad for Graph Representation? (arxiv.org) 论文代码:https://github.com/Microsoft/Graphormer 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼…

springmvc+ssm+springboot房屋中介服务平台的设计与实现 i174z

本论文拟采用计算机技术设计并开发的房屋中介服务平台,主要是为用户提供服务。使得用户可以在系统上查看房屋出租、房屋出售、房屋求购、房屋求租,管理员对信息进行统一管理,与此同时可以筛选出符合的信息,给笔者提供更符合实际的…

PYQT5-自定义事件

from PyQt5.QtCore import QEvent, QObject from PyQt5.QtWidgets import QApplication import sys# 自定义事件类 class CustomEvent(QEvent):# PYQT5 预留给用户自定义事件类型的起点为 QEvent.User1000custom_event_type QEvent.registerEventType()# 也可以这样写# custom…

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9)

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9) 介绍算法解释 核心代码rolling函数介绍计算 DTMnp.where 使用介绍np.maximum 计算 DBM计算 STM计算 SBM计算 ADTM 完整代码 介绍 ADTM(动态买卖气指标)是一种用…

高级语言期末2012级B卷

1.编写函数&#xff0c;输出任意正整数n的位数&#xff08;n默认为存储十进制的整形变量&#xff09; 例如&#xff1a;正整数13&#xff0c;则输出2,&#xff1b;正整数3088&#xff0c;则输出4 #include <stdio.h>int func(int n) {int count0;while(n>0) {n/10;co…

【Redis服务搭建】

目录 Redis的修改配置启动以及参数调优Redis的常用基本操作Redis运维监控命令Redis的配置的动态更新和写入Redis的多用户管理Redis的慢日志Redis禁用危险命令和压测工具Redis持久化存储1.Redis的RDB持久化存储2.Redis的AOF持久化存储 Redis的主从复制redis的哨兵实现主从自动切…

捕捉消费新趋势,脉纷纷让生活更便捷

随着科技的飞速发展和消费者需求的不断升级,消费市场呈现出前所未有的新趋势。在这个变革的时代背景下,脉纷纷凭借其敏锐的市场洞察力和创新精神,致力于捕捉消费新趋势,为消费者带来更加便捷的生活体验。 脉纷纷深知消费者对于便捷生活的渴望。因此,它紧密关注市场动态,通过大数…

NLP_构建GPT模型并完成文本生成任务

文章目录 搭建GPT模型&#xff08;解码器&#xff09;构建文本生成任务的数据集训练过程中的自回归文本生成中的自回归&#xff08;贪婪搜索&#xff09;完整代码小结 搭建GPT模型&#xff08;解码器&#xff09; GPT 只使用了 Transformer的解码器部分&#xff0c;其关键组件…