Linux学习_10

news2024/11/8 10:03:27

第九章Linux文件系统权限

主要包括:文件的一般权限,特殊权限,ACL权限,权限掩码umask

文件的一般权限

文件详细信息

文件权限构成
权限针对三类对象定义
owner:所有者,缩写u
group :所属组,缩写g
other :其他人,缩写o

chmod命令

chmod(change mode):修改文件或目录的权限

# 格式1
chmod [选项] [ugoa][+-=][rwx] 文件或目录...
# 格式2
chmod [选项] nnn 文件或目录...`

-R:递归修改指定目录下所有文件、子目录的权限
ugoa:表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即u+g+o)
+或-或=:表示设置权限的操作动作,+代表添加;-代表取消;=表示只赋予给定的权限,并取消原有的权限。
rwx:用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn:用数字表示的权限

[root@server ~]# touch t1.txt
[root@server ~]# ll t1.txt
-rw-r--r--. 1 root root 0 5月 6 17:29 t1.txt
[root@server ~]# chmod +x t1.txt
[root@server ~]# ll t1.txt
-rwxr-xr-x. 1 root root 0 5月 6 17:29 t1.txt
[root@server ~]# chmod o+w t1.txt
[root@server ~]# ll t1.txt
-rwxr-xrwx. 1 root root 0 5月 6 17:29 t1.txt
[root@server ~]# touch t2.txt
[root@server ~]# ll t2.txt
-rw-r--r--. 1 root root 0 5月 6 17:27 t2.txt
[root@server ~]# chmod 777 t2.txt
[root@server ~]# ll t2.txt
-rwxrwxrwx. 1 root root 0 5月 6 17:27 t2.txt
[root@server ~]# chmod 000 t2.txt
----------. 1 root root 0 5月 6 17:27 t2.txt

chown命令

修改文件或目录的所有者和属组

修改文件或目录的所属者

chown  -参数  所有者:所属组  文件名或目录名

[root@server m2]# cd ~
[root@server ~]# touch t4.txt
[root@server ~]# ll t4.txt
-rw-r--r--. 1 root root 0 5月 6 17:40 t4.txt
[root@server ~]# chown fox:fox t4.txt
[root@server ~]# ll t4.txt
-rw-r--r--. 1 fox fox 0 5月 6 17:40 t4.txt

特殊权限

概述
在Linux系统中,用户对文件或目录的访问权限除了r、w、x三种一般权限外,还有SET
UID(SUID)、SET GID(SGID)、Sticky Bit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。
SUID 权限的含义:是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。
SUID权限使用场景
例如:student用户要更改自己的密码
student 在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到/etc/shadow 这个文件中, 而这个文件的权限是 --------- ,它的拥有者是 root ,也只有 root 可以“ 强制” 存
储, 其他用户连看都不行可偏偏 student 去执行 passwd (/usr/bin/passwd) ,却可以更新自己的密码这就是因为有 s 权限的存在,当 s权限在拥有者的权限位上时, 即如-rwsr-xr-x 这样时, 称为SUID 。SUID 即 Set UID , UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者为(root) 。

[root@server ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 32648 8月 10 2021 /usr/bin/passwd

SGID 权限
SGID 可以用在两个方面:
文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A目录的所属组
注意
一般SGID 多用在特定的多人团队的项目开发上,在系统中用的很少
Sticky Bit权限
Sticky Bit (SBit) 当前只针对目录有效, 对文件没有效果。
其对目录的作用:
在 具 有 SBit 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除。
例如:当 student 用户属于 A 目录的组成员或属于 other ,且拥有 wx 权限时, 可以对该目录内任何人建立的目录或文件进行“ 删除/重命名/移动” 等操作。 如果将 A 目录加上了 Sticky
Bit 权限, 则 student用户只能针对自己建立的文件或目录进行“ 删除/重命名/移动” 等操作。

ACL权限

给指定的用户指定目录分配指定的权限。

查看ACL权限

getfacl  文件名

[root@server ~]# touch temp.cfg
[root@server ~]# getfacl temp.cfg # getfacl命令
# file: temp.cfg
# owner: root
# group: root
user::rwgroup::
r--
other::r--

设定ACL权限

setfacl  -参数  文件名

-m:设定 ACL 权限
给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名
给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名
-x:删除指定的 ACL 权限;
-b:删除所有的 ACL 权限;
-d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k:删除默认 ACL 权限;
-R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效

删除acl权限

# 删除指定用户的 ACL 权限
setfacl -x u:用户名 文件名
# 删除指定用户组的 ACL 权限
setfacl -x g:组名 文件名
# 删除文件的所有 ACL 权限
setfacl -b 文件名

权限掩码umask

新建文件权限与umask关系
在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认权限与umask值有关
新建文件的默认权限=0666-umask值 (减去)
新建目录的默认权限=0777-umask值

查看默认umask值

[root@server ~]# umask
0022
0022
[root@server ~]# touch file1
[root@server ~]# mkdir dir1
[root@server ~]# ll -d file1 dir1
drwxr-xr-x. 2 root root 6 5月 6 18:23 dir1 # 755
-rw-r--r--. 1 root root 0 5月 6 18:23 file1 # 644

修改默认umask

[root@server ~]# umask 000 # 临时修改
[root@server ~]# touch file2
[root@server ~]# mkdir dir2
[root@server ~]# ll -d file2 dir2
drwxrwxrwx. 2 root root 6 5月 6 18:26 dir2
-rw-rw-rw-. 1 root root 0 5月 6 18:25 file2

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

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

相关文章

Easysearch 与 LLM 融合打造知识库系统

文章目录 一、LangChain 简介二、RAG 产生的背景及其局限性三、RAG 工作流程四、 Easysearch 结合 LLM 实现 RAG(1)Easysearch 简介(2)结合实现RAG 五、 Easysearch 结合 LLM 实现 RAG 的优势(1)提高检索准…

【SSM详细教程】-16-SSM整合超详细讲解

精品专题: 01.《C语言从不挂科到高绩点》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. 《SpringBoot详细教程》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12789841.html?spm1001.20…

一个图像处理的实验设计

在Rafael Gonzalez和Richard Woods的《数字图像处理》中有一道这样的实验设计题,我发现特别适合说明多个阈值的全局阈值分割的示例。 我嫌他说话啰嗦,修改了一下作为考试题。 基本流程 图像分割 选取中间灰度级的区域标记。 2. 形态学后处理 开运…

如何在Linux系统中使用Nginx部署静态网站

如何在Linux系统中使用Nginx部署静态网站 Nginx简介 安装Nginx 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动Nginx服务 验证Nginx是否正在运行 配置Nginx服务器块 编辑服务器块配置 示例服务器块配置 创建网站根目录 准备静态网站内容 创建示例HTML页面 测试Ngi…

Mysql报错注入之floor报错详解

updatexml extractvalue floor 是mysql的函数 groupbyrandfloorcount 一、简述 利用 select count(),(floor(rand(0)2))x from table group by x,导致数据库报错,通过 concat 函数,连接注入语句与 floor(rand(0)*2)函数,实现将…

Redis 命令集 (超级详细)

目录 Redis 常用命令集 string类型 hash类型 list类型 set类型 zset类型 bitmap 类型 geo 类型 GEOADD (添加地理位置的坐标) GEOPOS (获取地理位置的坐标) GEODIST (计算两个位置之间的距离) GEOHASH (返回一个或多个位置对象的 geohash 值) GEORADIUS (根据用户…

nuxt数据库之增删改查,父组件子组件传值

nuxt学到数据库这里,就涉及到响应数据,父组件向子组件传值,子组件向父组件传值,最终还是需要掌握vue3的组件知识了。学习真的是一个长期的过程,不管学习了什么知识,有多少,都应该及时的记录下来…

如何在Linux系统中使用Zabbix进行监控

如何在Linux系统中使用Zabbix进行监控 Zabbix简介 安装Zabbix 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 配置Zabbix数据库 创建数据库 导入数据库 配置Zabbix服务器 访问Zabbix Web界面 完成初始配置 配置Zabbix Agent 安装Agent 配置Agent 添加主机到Zabbix 创…

《Counterfeiting Scalable Detection Image Based System for E-commerce》中文校对版

文章汉化系列目录 文章目录 文章汉化系列目录摘要CCS 概念:关键词1 引言2 E-CoS2.1 e-CoS架构2.2 e-CoS 模块2.2.1 图像相似度模块2.2.2 索引和搜索模块2.2.3 索引2.2.4 搜索 3 性能考量3.1 示例 13.2 示例 23.3 示例 3 4 结论致谢 摘要 电子商务中的假冒问题通过本…

前端开发设计模式——观察者模式

目录 一、定义和特点 1. 定义 2. 特点 二、实现方式 1. 使用 JavaScript 实现观察者模式的基本结构 2. 实际应用中的实现示例 三、使用场景 1. 事件处理 2. 数据绑定 3. 异步通信 4. 组件通信 四、优点 1. 解耦和灵活性 2. 实时响应和数据一致性 3. 提高代码的可…

思科--交换网络综合实验

前言 之前一直在学华为ENSP的命令,最近来了个实验(被坑了),要求是用思科完成。没法子,就弄呗 拓扑图 实验目标 首先配置以太通道(逻辑上的)实现链路冗余和负载共享 在交换机接口配置trunk&#…

推荐一款开源的免费PDF编辑工具:CubePDF Utility

CubePDF Utility是一款功能强大的开源免费PDF编辑器,它采用了基于缩略图的界面设计,为用户提供了直观且高效的PDF编辑体验。该软件特别针对那些希望以简单直观方式编辑 PDF 文件的用户而设计,支持多种操作,如合并、提取、拆分、更…

探索C嘎嘎:初步接触STL

#1024程序员节|征文# 前言: 在前文小编讲述了模版初阶,其实讲述模版就是为了给讲STL提前铺垫,STL是C中很重要的一部分,各位读者朋友要知道它的份量,下面废话不多说,开始走进STL的世界。 目录&am…

【java】java的基本程序设计结构03-charboolean

char类型 代表 字符--符号---几何图形 大小由编码类型决定。 char是基本类型,但String不是。 String是Java中的一个类,属于引用类型; char中只能放一个字符。 char a‘a’; //任意单个字符,加单引号。 char a‘中’;//任意单个中文…

22-Carla AD 代理

CARLA AD agent是一种AD agent,它可以遵循给定的路线,避免与其他车辆相撞,并通过访问地面真实数据来遵守红绿灯的状态。CARLA AD demo使用它来提供一个如何使用ROS桥接的示例。 在内部,CARLA AD Agent使用单独的节点进行局部规划。…

Could not find the planner configuration ‘None‘ on the param server

moveit中运行demo.launch报错:Could not find the planner configuration ‘None’ on the param server 打开config文件夹下的config,找到ompl_planning.yaml文件,找到: arm: default_planner_config: None gripper: default_p…

微信支付宝小程序SEO优化的四大策略

在竞争激烈的小程序市场中,高搜索排名意味着更多的曝光机会和潜在用户。SEO即搜索引擎优化,对于小程序而言,主要指的是在微信小程序商店中提高搜索排名,从而增加曝光度和用户访问量。有助于小程序脱颖而出,提升品牌知名…

Servlet 3.0 注解开发

文章目录 Servlet3.0注解开发修改idea创建注解的servlet模板内容讲解 关于servlet3.0注解开发的疑问_配置路径省略了属性urlPatterns内容讲解内容小结 Servlet3.0注解开发 【1】问题 说明:之前我们都是使用web.xml进行servlet映射路径的配置。这样配置的弊端&…

如何把网页的图片批量下载?3批量下载方法有详细步骤

如何把网页的图片批量下载?在浏览网页时,我们经常会遇到内容丰富、图片繁多的页面,无论是欣赏美图集、研究设计案例,还是收集教学素材,这些图片往往都是宝贵的资源。然而,一张张手动保存不仅耗时费力&#…

Linux中SPI

参考资料 https://www.cnblogs.com/aaronLinux/p/6219146.html1.SPI 2.SPI传输 2.1传输示例 首先,CS0拉低选中的SPI Flash , 然后在每个时钟周期, DO输出对应的电平。 SPI FLASH会在每个时钟的上升沿读取D0的电平。2.2SPI模式 根据SCK的电平以及数据在…