Linux---权限管理(ACL权限、特殊位和隐藏属性)

目录

1.ACT权限

1.1什么是ACT权限

1.2ACT图解

2.操作步骤

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

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

 2.3设定权限

2.4为临时用户分配权限

2.4.1添加临时用户

2.4.2为临时用户分配特定权限

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

2.5验证acl权限

2.5.1切换到tempuser用户

2.5.2 验证可以进入project目录

2.5.3 验证不能在project中创建文件

2.6控制组的ACL权限

2.6.1 创建一个temp组

2.6.2 设置组的ACL

2.6.3 查看设置后ACL

2.6.4 创建一个用户,并将该用户设置为temp组

2.6.5 将用户添加到temp组中

2.6.6 验证

3.mask最大权限

3.1什么是最大权限

4 ACL权限的删除


1.ACT权限

1.1什么是ACT权限

ACT权限是指在区块链技术中,用于对智能合约进行执行操作的权限。ACT(Action)是指在区块链上执行的操作单元,例如发送交易、调用合约等。授予ACT权限意味着在区块链上具有执行智能合约的能力,可以进行资产的转移、合约的调用等操作。ACT权限通常是由区块链网络的管理员授予给用户或智能合约,以确保合约的执行符合特定的规则和逻辑。

1.2ACT图解

ACL是Access Control List的缩写,即访问控制列表。可以通过下列的实例来理解ACL的作用:

2.操作步骤

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

[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.2修改目录的所有者和所属组

 chown root:tgroup /projectll -d /project
drwxr-xr-x.   2 root    tgroup    6 8月  23 13:07 project

 2.3设定权限

chmod 770 /project
ll -d /project
drwxrwx---. 2 root tgroup 6 8月  23 13:07 /project

2.4为临时用户分配权限

2.4.1添加临时用户

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

2.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::---

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

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

2.5验证acl权限

2.5.1切换到tempuser用户

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

2.5.2 验证可以进入project目录

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

2.5.3 验证不能在project中创建文件

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

2.6控制组的ACL权限

2.6.1 创建一个temp组

[root@localhost project]# groupadd temp

2.6.2 设置组的ACL

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

2.6.3 查看设置后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::---

2.6.4 创建一个用户,并将该用户设置为temp组

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

2.6.5 将用户添加到temp组中

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

2.6.6 验证

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

3.mask最大权限

3.1什么是最大权限

[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# 所属组权限, 文件创建时的所属组
group:temp:r-x# 一般组的权限  创建的临时组
mask::rwx# 权限掩码,用来控制最大权限  
other::---

最大权限是指: 如果给用户赋予了ACL权限,则用户所获取的权限并不是ACL时所附的权限,而是赋予的ACL权限 与 mask权限 进行 与 操作 之后的权限。例如:user:tempuser:r-x 第一位是r, mask的第一位也是r, 则与操作后,用户则有 r 的权限, user:tempuser:r-x 第二位是 - ,mask的第二位是 w,则与操作后用户则没有 w 的权限。

最大权限的作用:mask的默认值为rwx,即最大权限,任何其他的权限值和mask相“与”都会得到其自身; 可以通过调整mask的方式来控制分配给用户的最大权限,例如: mask值调整为 r-x ,则不管是否给用户分配”w”权限,用户都没有“w”的权限。mask可以用来避免权限分配不当而给系统带来的风险

4 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.mzph.cn/news/699965.shtml

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

相关文章

NPM私服搭建(verdaccio)

官网地址:https://verdaccio.org/ 概述 Verdaccio 是一个流行的 Node.js 包管理器的代理工具,它允许您在本地或私有网络上轻松地创建和管理 npm 包仓库。通过 Verdaccio,开发团队可以建立自己的 npm 包仓库,以更好地控制和管理其依…

使用redisMQ-spring-boot-starter实现消息队列和延时队列

简介 redisMQ-spring-boot-starter是一个轻量级的、基于Redis实现的消息队列中间件,它有如下优点: 开箱即用,你几乎不用添加额外的配置支持消息队列、延时队列,并提供精细化配置参数提供消息确认机制支持虚拟空间,不…

C++ 学习之Map容器

C++ Map容器概念 C++的Map容器是一种关联容器,它提供了一种将键和值相关联的方式。它以键值对的形式存储数据,并根据键的顺序自动进行排序。 Map中的键是唯一的,而值可以重复。你可以使用键来访问对应的值,就像使用索引访问数组中的元素一样。 Map容器的特点如下: 按照…

一些可以参考的文档集合16

之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合4_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合5…

IDEA查询对应功能的快捷键

首先要知道快捷键的key叫什么,然后通过key来找到对应的快捷键 比如下面这个查找删除导入未使用的类 跳转 或者安装对应插件

可视化 RAG 数据 — 用于检索增强生成的 EDA

原文地址:Visualize your RAG Data — EDA for Retrieval-Augmented Generation 2024 年 2 月 8 日 Github:https://github.com/Renumics/rag-demo/blob/main/notebooks/visualize_rag_tutorial.ipynb 为探索Spotlight中的数据,我们使用Pa…

Nodejs 第四十一章(项目架构MVC,IoC,DI)

到现在为止,我们学习了,express框架,编写接口,mysql数据库读写数据,knex,prisma ORM框架,现在是时候把这些组合到一起,并且实现一个类似于Nestjs或者java的SpringBoot的架构真正的去开发我们的n…

怎么在线生成动态gif?这个网站一定要知道

静态图片是指一张固定的、不具有动态效果的图片。它通常是由像素点组成的,可以是照片、插图、图标等。静态图片只能呈现一种特定的场景或图像,不能展示动态变化。动态图片(是由一系列静态图片组成的,通过快速连续播放这些画面&…

计算机网络-网络层,运输层,应用层

网络层/网际层 网络层的主要任务包括: 提供逻辑上的端到端通信:网络层负责确定数据的传输路径,使数据能够从源主机传输到目标主机,即实现端到端的通信。数据包的路由和转发:网络层根据目标主机的地址信息&#xff0c…

代码随想录刷题39,40天|62.不同路径

62.不同路径 想要求dp[i][j],只能有两个方向来推导出来,即dp[i - 1][j] 和 dp[i][j - 1]。 此时在回顾一下 dp[i - 1][j] 表示啥,是从(0, 0)的位置到(i - 1, j)有几条路径,dp[i][j - 1]同理。 那么很自然,dp[i][j] …

【MySQL】数据类型(常见类型)-- 详解

一、数据类型分类 二、数值类型 1、tinyint 类型 在 MySQL 中,整型可以指定是有符号的和无符号的,默认是有符号的。 有符号: 插入数据越界测试: 在 MySQL 表中建立属性列时,我们可以发现列名称在前,类型在…

小明找位置(C语言)【二分查找】

题目描述 小朋友出操&#xff0c;按学号从小到大排成一列&#xff1b;小明来迟了&#xff0c;请你给小明出个主意&#xff0c;让他尽快找到他应该排的位置。 算法复杂度要求不高于 nLog(n)&#xff1b;学号为整数类型&#xff0c;队列规模<10000&#xff1b; 输入描述 1…

深入探索pdfplumber:从PDF中提取信息到实际项目应用【第94篇—pdfplumbe】

深入探索pdfplumber&#xff1a;从PDF中提取信息到实际项目应用 在数据处理和信息提取的过程中&#xff0c;PDF文档是一种常见的格式。然而&#xff0c;要从PDF中提取信息并进行进一步的分析&#xff0c;我们需要使用适当的工具。本文将介绍如何使用Python库中的pdfplumber库来…

Vue全局指令防止重复点击(等待请求)

继《vue之全局请求loading》之后&#xff0c;总觉得全局loading有时候不太…友好&#xff0c;所以总想将loading加到被点击的元素上面&#xff0c;于是乎就想到了点击事件与请求方法相关联&#xff0c;本想重写组件的click方法&#xff0c;但是这样对组件的影响太大&#xff0c…

【分享】一道面试题的思考。。。

是一个同学面试时遇见的&#xff0c;他被鄙视了&#xff0c;大家看看自己是否可以过关。 题目如下&#xff1a; 在32位机器上&#xff0c;用你觉得最高效的方法实现memcpy函数。 void*memcpy(void*dest,void*src,unsignedintsize); 大家好好考虑一下这个题 很不容写好的 因…

华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)---Python3--开源

题目&#xff1a; 考察内容&#xff1a; for if max 代码&#xff1a; """ 题目分析&#xff1a;投资额*回报率投资回报 要在可接受范围内选择最优的投资方式获得最大回报最多投资2个理财产品输入&#xff1a; 产品数int; 总投资额int; 总风险int 产品投资…

C++入门学习(三十七)函数分文件编写【DEV】

创建.h后级名的头文件创建.cpp后缀名的源文件在头文件中写函数的声明在源文件中写函数的定义 一、选择文件、新建、项目 二、 选择Empty Project 三、 新建源文件New File 四、贴代码 test.cpp #include <iostream> #include "add.h" using namespace std;i…

《TCP/IP详解 卷一》第4章 地址解析协议ARP

目录 4.1 引言 4.2 一个例子 4.3 ARP缓存 4.4 ARP帧格式 4.5 ARP例子 4.6 ARP缓存超时 4.7 代理ARP 4.8 免费ARP和地址冲突检测 4.9 ARP命令 4.10 使用ARP设置嵌入式设备IPv4地址 4.11 与ARP相关攻击 4.12 总结 4.1 引言 地址解析&#xff1a; IPv4&#xff1a;AR…

Python代码实例调用淘宝封装API接口批量获取淘宝商品详情及描述SKU数据

在Python中获取淘宝商品详情&#xff0c;通常可以通过以下几种方式实现&#xff1a; 1. 使用Taobao Open Platform API&#xff1a;淘宝提供了API接口【注册封装API接口可以免费测试】&#xff0c;允许开发者通过API请求获取商品信息。你可以先注册成为淘宝开发者&#xff0c;…

基于Springboot实现课程评分系统设计和实现

基于java Springboot实现课程评分系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码…