【Linux】权限的深度解析

news2025/2/25 23:18:01

前言:在此之前我们学习了一些常用的Linux指令,今天我们进一步学习Linux下权限的一些概念

💖 博主CSDN主页:卫卫卫的个人主页 💞
👉 专栏分类:Linux的学习 👈
💯代码仓库:卫卫周大胖的学习日记💫
💪关注博主和博主一起学习!一起努力!
在这里插入图片描述


目录

  • Linux权限的概念
  • Linux权限管理
    • 文件访问者的分类(人)
    • 文件类型和访问权限(事物属性)
      • 文件类型
      • 基本权限
    • 文件访问权限的相关设置方法
      • 修改文件的拥有者
      • 更改文件的所属组
    • 查看或修改文件权限掩码
    • linux下目录的权限
    • 粘滞位


Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

在上一篇文章中我们详细的讲解了如何从普通用户切换成超级用户如果有不懂的可以去看一下上一篇文章Linux下基本指令


Linux权限管理

文件访问者的分类(人)

对于任意一个文件在被创建出来的时候就会将未来的访问者分为三类:拥有者、所属组、其它用户(other)

  1. 文件和文件目录的所有者(拥有者):我们可以直接理解成创建这个文件的人,也可以说成这个文件是他的
  2. 其它用户(other):我们可以理解成外界访问者,例如外国人来中国那么这个外国人就是other
  3. 文件和文件目录的所有者所在的组的用户(所属组):我们可以通俗的理解成你是一个组的组长,这个文件的组长给你们这个组开发了权限,只有你们这个组可以看到。(如下图)
  4. 当然了对于超级用户(root)他可以随意访问这些文件
    在这里插入图片描述

文件类型和访问权限(事物属性)

Linux系统不是以文件名后缀区分文件类型的,而是通过ll指令显示的第一个字符区分文件类型的!
在这里插入图片描述


文件类型

符号文件类型
-表示普通文件
d表示目录
l表示符号链接
b表示块设备文件
c表示字符设备文件
s表示套接字
p表示管道

实例:
在这里插入图片描述

基本权限

Linux系统中,文件的权限属性分为三类:r(读-4)、w(写-2)、x(可执行-1)

  1. 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  2. 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  3. 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

字符表示:

权限符号说明
r – –只读
– w –仅可写
– – x仅可执行
rw –可读可写
– wx可写可执行
r – x可读可执行
rwx可读可写可执行
– – –无任何权限

8进制数值表示:

权限符号八进制二进制
r – –4100
– w –2010
– – x1001
rw –6110
– wx3011
r – x5101
rwx7111
– – –0000

实例演示在这里插入图片描述


文件访问权限的相关设置方法

chmod指令
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名

符号模式说明
u代表所有者权限
g代表组的权限
o代表其他用户权限
a代表所有权限
+增加权限
-移除权限
=设置权限

示例一:

对文件的其它人增加执行和写的权限
在这里插入图片描述
示例二
去掉文件的所属组的写的权限
在这里插入图片描述

示例3
使用三位八进制数字

在这里插入图片描述
示例4
对整体指令进行修改
在这里插入图片描述
这里再次强调,无论开放与不开放权限,root都可以为所欲为


修改文件的拥有者

chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
-R:递归地更改目录及其所有子目录中的文件的所有者和所属组。
-h:如果目标文件是符号链接,则会改变链接本身的所有者和所属组,而不是链接所指向的文件的所有者和所属组。
注意:要执行chown命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所有者和所属组。


[wei@Centos ~]$ chown user1:group1 file.txt
#将文件file.txt的所有者更改为user1,所属组更改为group1。
[wei@Centos ~]$chown -R user1:group1 directory/
#递归地更改目录及其所有子目录中的文件的所有者和所属组
#将目录directory及其所有子目录中的文件的所有者更改为user1,所属组更改为group1

更改文件的所属组

chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
注意:要执行chgrp命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所属组。

[wei@Centos ~]$ chgrp group1 file.txt
#chgrp group1 file.txt
[wei@Centos ~]$chgrp -R group1 directory/

查看或修改文件权限掩码

umask
功能:查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

实例演示:
在这里插入图片描述

格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
最终权限 = 默认权限 & (~umask)
实例演示unmask的修改:

[wei@Centos ~]$ umask 755
[wei@Centos ~]$ umask
0755
[wei@Centos ~]$ umask 044
[wei@Centos ~]$ umask
0044


linux下目录的权限

刚刚我们了解了普通文件的rwx可读可写可执行,现在来看看目录的rwx的含义:

  1. r可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  2. w可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
  3. x可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

粘滞位

在Linux中,粘滞位(Sticky Bit)是一种特殊的文件权限设置,它可以应用在目录上。当一个目录被设置了粘滞位后,只有目录的所有者和超级用户可以删除或重命名目录中的文件,其他用户只能删除或重命名自己所拥有的文件。
粘滞位主要用于公共目录,例如/tmp,以确保其他用户无法删除或篡改其他用户的文件。下面是在Linux中使用粘滞位的方法:

[wei@Centos ~]$ chmod +t 目录名称

[wei@Centos ~]$chmod +t /tmp

需要注意的是,粘滞位只能应用于目录,而不能应用于文件。另外,设置粘滞位的操作需要超级用户权限。


结语:今天的内容就到这里吧,谢谢各位的观看,如果有讲的不好的地方也请各位多多指出,作者每一条评论都会读的,谢谢各位。


🫵🫵🫵 这里也祝各位寒假快乐哦 💞

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

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

相关文章

行列转化【附加面试题】

在MySQL中,行列转换是一种常见的操作。它包括行转列和列转行两种情况。 行转列:行转列是将表中的某些行转换成列,以提供更为清晰、易读的数据视图。例如,假设我们有一个包含科目和分数的表,我们可以使用SUM和CASE语句…

一款轻量级、基于Java语言开发的低代码开发框架,开箱即用!

数字化时代,企业对于灵活、高效和安全的软件开发需求日益旺盛。为了满足这些需求,许多组织转向低代码技术,以寻求更具成本效益和创新性的解决方案。JNPF基础框架正是在这一背景下应运而生,凭借其私有化部署和100%源码交付的特性&a…

011:vue结合css动画animation实现下雪效果

文章目录 1. 实现效果2. 编写一个下雪效果组件 VabSnow.vue3. 页面使用4. 注意点 1. 实现效果 GIF录屏文件太卡有点卡&#xff0c;实际是很丝滑的 2. 编写一个下雪效果组件 VabSnow.vue 在 src 下新建 components 文件&#xff0c;创建VabSnow.vue组件文件 <template>…

C++系统笔记教程----vscode远程连接ssh

C系统笔记教程 文章目录 C系统笔记教程前言开发环境配置总结 前言 开发环境配置 Ubuntu20.24VScode 如果没有linux系统&#xff0c;但是想用其编译&#xff0c;可以使用ssh远程连接。 首先进入vscode,打开远程连接窗口&#xff08;蓝色的小箭头这&#xff09; 选择连接到主机…

三菱plc学习入门(创建属于自己的FB模块)

在现实生活中&#xff0c;往往会需要修改一些属于方便自己的库&#xff0c;1&#xff0c;自己创建的库方便自己使用与查看2&#xff0c;提高自己编程能力&#xff0c;3&#xff0c;保护自己的程序不被外人修改&#xff01;&#xff01;&#xff01;下面就让我来操作一下 导入需…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-4 label

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>label</title> </head><body> 性别: <label for"male">男</label> <input type"radio" name"sex&quo…

python的tabulate包在命令行下输出表格不对齐

用tabulate可以在命令行下输出表格。 from tabulate import tabulate# 定义表头 headers [列1, 列2, 列3]# 每行的内容 rows [] rows.append((张三,数学,英语)) rows.append((李四,信息科技,数学))# 使用 tabulate 函数生成表格 output tabulate(rows, headersheaders, tab…

线程同步--生产者消费者模型

文章目录 一.条件变量pthread线程库提供的条件变量操作 二.生产者消费者模型生产者消费者模型的高效性基于环形队列实现生产者消费者模型中的数据容器 一.条件变量 条件变量是线程间共享的全局变量,线程间可以通过条件变量进行同步控制条件变量的使用必须依赖于互斥锁以确保线…

【C语言】- 设置控制台文字颜色、大小和字体

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体 文章目录 【C语言】- 设置控制台标题、编码、文字颜色、大小和字体1 - 设置控制台标题2 - 设置控制台编码3 - 设置控制台字体和大小参考链接 1 - 设置控制台标题 因为要用到 Windows API&#xff0c;所以需要包含头文件…

CHAPTER 9: 《DESIGN A WEB CRAWLER》第9章 《设计一个web爬虫》

CHAPTER 9: 《DESIGN A WEB CRAWLER》第九章 设计一个web爬虫 在本章中&#xff0c;我们将重点介绍网络爬虫设计&#xff1a;一种有趣而经典的系统设计 面试问题。 网络爬虫被称为机器人或蜘蛛。它被搜索引擎广泛用于发现网络上的新内容或更新内容。内容可以是网页、图像、视频…

python:一元线性回归模型案例分析

一、案例分析背景 案例: 中国全体居民的消费水平与经济发展数量关系的分析 提出问题&#xff1a; 改革开放以来&#xff0c;随着中国经济的快速发展&#xff0c;人民生活水平不断提高&#xff0c;居民的消费水平也在不断增长。研究中国全体居民的消费水平与经济发展的数量关系…

代码随想录算法训练营第31天 | 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

目录 理论基础 455.分发饼干 &#x1f4a1;解题思路 &#x1f4bb;实现代码 376. 摆动序列 &#x1f4a1;解题思路 # 情况一&#xff1a;上下坡中有平坡 # 情况二&#xff1a;数组首尾两端 情况三&#xff1a;单调坡度有平坡 &#x1f4bb;实现代码 53. 最大子序…

RTC讲解

RTC&#xff08;Real Time Clock&#xff09;实时时钟 RTC实时时钟本质上是一个独立的定时器。RTC模块拥有一组连续计数的32位无符号计数器&#xff0c;在相应软件配置下&#xff0c;可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配…

uniapp APP接入Paypal

1. 登录paypal开发者中心&#xff0c; 2. 选择 Apps & Credentials 点击 Create App创建应用&#xff0c;创建后点击编辑按钮&#xff0c;如图&#xff1a; 3. 进入应用详情&#xff0c;勾选Log in with PayPal点击 Advanced Settings 添加return URL等信息并保存。如图&a…

C++(13)——string

上篇文章中介绍了中部分函数的用法&#xff0c;本篇文章将继续对其他的函数进行介绍&#xff1a; 1. substr: string substr (size_t pos 0, size_t len npos) const; 函数的两个参数如上述代码所示&#xff0c;此函数的主要作用是根据一个已有的的对象的起始坐标开始&a…

快手二面:节流和防抖知道吗?

面试官:节流与防抖&#xff0c;说说两者各自适用场景&#xff1f; 回答&#xff1a;面试官&#xff0c;在前端开发中&#xff0c;节流&#xff08;Throttle&#xff09;和防抖&#xff08;Debounce&#xff09;是两种常用的优化高频率执行JavaScript代码的技术。我将分别阐述它…

ICC2:channel power plan/power switch的添加方法

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 往期文章链接: low power与pg strategy (lib cell pin connect) low power与pg strategy(pg mesh) low power与pg

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)。 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。 一、架构是什么 Linux 有架构,MySQL 有架构,J…

关于接口的安全性测试,这方法你学会了吗?

01、接口防刷 1.为什么会有人要刷接口&#xff1f; 牟利&#xff1a;黄牛在 12306 网上抢票再倒卖。 恶意攻击竞争对手&#xff1a;如短信接口被请求一次&#xff0c;会触发几分钱的运营商费用&#xff0c;当量级大了也很可观。 压测&#xff1a;用apache bench 做压力测试…

鸿蒙开发实战-(ArkUI)List组件和Grid组件的使用

在我们常用的手机应用中&#xff0c;经常会见到一些数据列表&#xff0c;如设置页面、通讯录、商品列表等。下图中两个页面都包含列表&#xff0c;“首页”页面中包含两个网格布局&#xff0c;“商城”页面中包含一个商品列表。 上图中的列表中都包含一系列相同宽度的列表项&am…