Linux之ACL权限chmod命令

news2025/5/19 7:44:05

一. chmod命令

chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。 设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件,建议加入-R参数进行递归操作,这意味着不仅对于目录本身,而且也对目录内的子文件/目录进行新权限的设定。 语法格式:chmod 参数 文件名

常用参数

二. ACL权限

什么是ACL

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

2.1操作步骤  

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 /project
 ll -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.coloradmin.cn/o/1469918.html

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

相关文章

C++ //练习 8.8 修改上一题的程序,将结果追加到给定的文件末尾。对同一个输出文件,运行程序至少两次,检验数据是否得以保留。

C Primer(第5版) 练习 8.8 练习 8.8 修改上一题的程序,将结果追加到给定的文件末尾。对同一个输出文件,运行程序至少两次,检验数据是否得以保留。 环境:Linux Ubuntu(云服务器) 工…

readproc.h

Ubuntu22.04系统中 编译自己写的程序的时候,报错,显示找不到readproc.h文件,通过安装libprocps-dev解决 sudo apt install libprocps-dev

5.1 Ajax数据爬取之初介绍

目录 1. Ajax 数据介绍 2. Ajax 分析 2.1 Ajax 例子 2.2 Ajax 分析方法 (1)在网页页面右键,检查 (2)找到network,ctrl R刷新 (3)找 Ajax 数据包 (4)…

美联储突然降息无望

作者:秦晋 我们知道,影响比特币未来1-2年市场走向的重要三因素是比特币ETF、比特币减半以及美联储降息。 如果说前两者是影响比特币市场比较紧密的微观因素。那么美联储降息就是影响比特币市场的重要宏观因素。如何看懂宏观因素?尽量倾听和观…

从源码学习static的使用

从源码学习static的使用 前言 ​ static意味静态的,在Java中,主要用来修饰类级别的变量或方法等,被修饰的内容,表示随着类的加载而加载,而不是具体的实例级别。 ​ 具体到static的使用场景,主要有以下用…

vue3(vite)+electron打包踩坑记录(1)

vue3(vite)electron打包踩坑记录 - 打包vue 第一步 编译vue 使用vite构建vue,package.json如下 {"name": "central-manager","private": true,"version": "0.0.0","type": "commonjs",&q…

第2.5章 StarRocks表设计——行列混存表

注:本篇文章阐述的是StarRocks- 3.2.3版本的行列混存表 一、概述 1.1 背景 StarRocks 基于列存格式引擎构建,在高并发场景,用户希望从系统中获取整行数据。当表宽时,列存格式将放大随机IO和读写。自3.2.3开始,StarRo…

让C语言代码变抽象(其三)

目录 前言: 我们直接看代码 前言: 今天我在写判断语句代码的时候,又想到一个更抽象的代码。 今天我将要将我之前写的抽象遍历代码变得更抽象。 我们直接看代码 这里我们用到的是布尔,当条件为假时值为0; 所以我们这…

力扣随笔之移除元素(简单27)

思路:定义一个指针left,使该指针及该指针左边的数全部都不等于val,定义一个遍历指针i,若nums[i] val,则i自加,若nums[i] ! val,则将left,并将nums[i]的值赋给nums[left]&#xff0c…

后端程序员入门react笔记——react的diff算法(三)

diffing算法 虚拟dom 我们知道,react里面操作的都是虚拟dom,最后经过render渲染为真正的dom,那么为什么要提出虚拟dom这个概念呢?其实就是将逻辑和视图区分开,react的虚拟dom,就相当于mvc的c,…

设计推特(Leetcode355)

例题: https://leetcode.cn/problems/design-twitter/ 分析: 推特其实类似于微博,在微博中可以发送文章。 求解这类题目,我们需要根据题目需求,利用面向对象的思想,先对需求做一个抽象,看看能…

自定义 Git Hook

前言 前端同学大概都熟悉 husky 这个工具,他可以直接在项目中添加 git hooks,主要解决了 git hooks 不会同步到 git 仓库的问题,保证了每个开发人员的本地仓库都能执行相同的 git hooks。 但是 husky 毕竟是一个 JS 生态的工具,…

ChatGPT助您提升求职技能

目录 ChatGPT可以作为求职技能的学习和提升平台 ChatGPT可以帮助求职者提升沟通和表达能力 ChatGPT还可以帮助求职者提升问题解决能力和创新能力 ChatGPT还可以帮助求职者建立自信心和自我推销能力 随着科技的迅速发展,人们的生活方式和工作方式也在不断地变革。…

移动端自动化常用的元素定位工具 介绍

在移动端自动化测试和开发中,元素定位是非常关键的一步。以下是一些常用的工具和技术来帮助开发者或测试工程师在移动设备上定位元素: 1. **UiAutomator**: - **UiAutomator** 是 Android 官方提供的自动化测试框架。它可以用来编写测试脚本&…

交易快讯:4拼域名以10,000元被秒

交易新闻 ——30万美元易手,60万美元易手,.au 10万美元易主。 近期,域名交易金额可能达到130万美元(逾130万元人民币)。 ——双拼在域名交易平台上以2万元的固定价格进行交易。 该域名直接对应了南瓜的含义。 另外&a…

CSRF靶场实战

DVWA靶场链接&#xff1a;https://pan.baidu.com/s/1eUlPyB-gjiZwI0wsNW_Vkw?pwd0b52 提取码&#xff1a;0b52 DVWA Low 级别打开靶场&#xff0c;修改密码 复制上面的 url&#xff0c;写个简单的 html 文件 <html <body> <a hrefhttp://127.0.0.1/DVWA/vulne…

常见的排序算法整理

1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始&#xff0c;然后依次和剩余的元素进行比较&#xff0c;若小于相邻元素&#xff0c;则交换两者位置&#xff0c;同时将较大元素作为下一个比较的基准元素&#xff0c;继续将该元素与其相邻的元素进行比…

企业型多域名SSL证书

多域名SSL证书是目前市场上用的比较多的一种&#xff0c;主要解决多个不同规则的域名申请&#xff0c;但不适合主域名&#xff08;根域名&#xff09;相同的域名&#xff0c;因为这种域名直接申请通配符。 企业型其实就是OV类型或者EV类型&#xff0c;由于在CA/B产品名称规范中…

day13_String字符串的使用-课后练习 - 参考答案

文章目录 day13_课后练习代码编程题第1题第2题第3题第4题第5题第6题第7题第8题第9题第10题第11题第12题第13题 代码阅读题第14题第15题第16题第17题第18题第19题第20题 day13_课后练习 代码编程题 第1题 反转键盘录入的字符串。代码实现&#xff0c;参考效果如图所示&#x…

孙艺洲驾考再传捷报,科目二通过。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在《飞驰人生2》的首映礼盛大举行的日子里&#xff0c;猴哥意…