欢迎来到linux大陆!本次试炼地点——秩序“权限”圣殿

一篇关于权限的学习笔记~

  • 1、权限的概念
  • 2、权限管理
    • 2.1 角色的不同分类
    • 2.2 文件权限原理剖析
      • 2.2.1 熟悉指令
      • 2.2.2 普通用户只能更改自己的文件权限,但是sudo提权可以更改其他文件权限
      • 2.2.3 没有权限,系统拒绝访问
      • 2.2.4 权限匹配
      • 2.2.5 root用户不受任何限制,可以进行任意操作
      • 2.2.6 可执行权限的剖析
      • 2.2.7 系统默认不能直接给其他用户文件,除非高权限用户
      • 2.2.8 使用进制数也可以修改文件权限
    • 2.3 目录权限原理剖析
      • 2.3.1 进入一个目录需要的是可执行权限
      • 2.3.2 如果一个目录没有w权限,就不能在指定目录内部创建新文件
      • 2.3.3 多个普通用户之间是互不影响的
      • 2.3.4 文件修改只与所在目录是否有w权限有关,与文件本身无关(修改包括增加与删除)
    • 2.4 缺省权限
    • 2.5 粘滞位

1、权限的概念

首先我们要知道在linux中有超级用户(root)与普通用户(user)这两种用户

超级用户普通用户
可以再linux系统下做任何事情,不受限制在linux中做有限定的事
命令提示符是‘#’命令提示符是‘$’;

创建一个普通用户的指令

sudo adduser 用户名

超级用户与普通用户之间的互相转换指令
1、超级用户转为普通用户

su 普通用户名

2、普通用户转换为超级用户(需要输入超级用户的密码)

su

在这里插入图片描述
3、普通用户的短暂提权指令
使用短暂提权指令可以让普通用户短暂拥有超级用户的一定权限来进行一些操作,比如安装、卸载软件等等

sudo 指令

在这里插入图片描述
但是注意sudo并不是一定可以让普通用户拥有超级用户的权利,在系统中有一个白名单,只有在“白名单”中的普通用户才能执行sudo提权后的指令
在这里插入图片描述
注意下面只是演示,如果对vim操作不熟练建议先学习vim操作后自行修改避免出错
在这里插入图片描述

2、权限管理

权限=角色+事物属性
关于权限,首先权限限制的是角色,也就是一个人本身;其次是事物属性,也就是这个人的身份

linux下一切皆文件,所以下面我们关于权限需要借助文件做详细分析

2.1 角色的不同分类

在这里插入图片描述

对于文件属性进一步分析

在这里插入图片描述
Linux中的不同文件类型

linux中显示的文件类型
d文件夹
-普通文件
l软链接(类似Windows的快捷方式)
b块设备文件(例如硬盘、光驱等)
p管道文件
c字符设备文件(例如屏幕等串口设备)
s套接口文件

文件权限值的表示方法

1、字符表示方法

Linux表示说明
r–只读
-w-仅可写
–x仅可执行
rw-可读可写不可执行
-wx可写可执行不可读
r-x可读可执行不可写
rwx可写可读可执行
无任何权限

2、进制数值表示方法

权限符号二进制八进制
r1004
w0102
x0011
rw1106
wx0113
rx1015
rwx1117
0000

2.2 文件权限原理剖析

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

指令作用格式
chmod设置文件的访问权限chmod [参数] 权限 文件名
chown修改文件的拥有者chown [参数] 用户名 文件名
chgrp修改文件或目录的所属组chgrp [参数] 用户组名 文件名

2.2.1 熟悉指令

在这里插入图片描述

2.2.2 普通用户只能更改自己的文件权限,但是sudo提权可以更改其他文件权限

在这里插入图片描述

2.2.3 没有权限,系统拒绝访问

在这里插入图片描述

2.2.4 权限匹配

在确定权限时会首先确定用户角色,是拥有者、所属组还是其他。在Centos下只会确定一次,判断匹配顺序是拥有者、所属组和其他

2.2.5 root用户不受任何限制,可以进行任意操作

在这里插入图片描述

2.2.6 可执行权限的剖析

有可执行权限不意味着文件一定可执行。这句话的进一步解释是:一个文件必须是可执行文件,并且该可执行文件有可执行权限才能执行,二者缺一不可。

2.2.7 系统默认不能直接给其他用户文件,除非高权限用户

在这里插入图片描述

2.2.8 使用进制数也可以修改文件权限

在这里插入图片描述


2.3 目录权限原理剖析

2.3.1 进入一个目录需要的是可执行权限

在这里插入图片描述

2.3.2 如果一个目录没有w权限,就不能在指定目录内部创建新文件

在这里插入图片描述

2.3.3 多个普通用户之间是互不影响的

任何用户都不能进入其他用户的家目录

2.3.4 文件修改只与所在目录是否有w权限有关,与文件本身无关(修改包括增加与删除)


2.4 缺省权限

文件类型默认权限
普通文件起始权限666,默认不带可执行权限
目录文件起始权限777,默认带可执行权限

但是实际上我们自己验证时可能是664与775,并不是上面说到的666与777,这是因为系统默认存在一个权限掩码umask(通常是0002)的概念,而最终权限的计算公式为:最终权限 = 起始权限 & (-umask),通常以二进制计算
umask的价值是:在umask中出现的权限不会出现在最终权限中,可以灵活满足需要,保证代码可控
在这里插入图片描述
umask是可以修改的,并且umask是内存级的,重启后会恢复,修改指令就是直接使用: umask 修改值


2.5 粘滞位

通常在用户之间进行文件协作时,不能将目标文件放在任何一个私人账号下,而是放在公共的临时资源区域中,那么现在面临一个尴尬的问题就是如果有人要删除该共享类文件时可以的,因为该文件的目录具有w权限,那如果把该文件目录的w权限去掉用户就不能进入该文件,所以这就需要粘滞位来满足我们的需求,也就是:任何一个人都可以在共享目录下创建文件但是不能让非拥有者删除文件
使用方法就是在共享文件前 +t 即可

[root@localhost ~]# chmod +t /home/  # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月  19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c  #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring 定时任务:@Scheduled 注解四大参数解析

本文主要介绍了在 Spring 框架中使用Scheduled注解实现定时任务的方法,重点讲解了fixedRate、fixedDelay、cron和initialDelay这四个参数的用法,并通过实例代码进行了详细说明。 1. fixedRate 参数 参数含义 fixedRate指定任务固定时间间隔执行。如设…

使用频谱仪:测量宽带信号的功率

marker默认只测一个频率点的功率,当测试宽带信号,如20MHz,不能直接使用marker来测量功率。 有2种方式: 宽带信号需要使用Measure-> channel power 来测量。 meas setup integ BW:500mhz Freq:中心频…

postman请求参数化

postman界面介绍 一、使用环境变量(Environment Variables)进行参数化 1、在请求中使用环境变量 在请求的url、请求头(Headers)、请求体(Body)等部分都可以使用环境变量。 URL 部分示例 点击 Postman 界面右上角的 “眼睛” 图标(Environment Quick Look)打开环境管理…

优选算法——哈希表

目录 1. 哈希表简介 2. 两数之和 3. 判定是否为字符重排 4. 存在重复元素 5. 字母异位词分组 1. 哈希表简介 2. 两数之和 题目链接:1. 两数之和 - 力扣(LeetCode) 题目展示: 题目分析: 大家来看上面的图&…

【C语言学习】:C语言补充:转义字符,<<,>>操作符,IDE

🎁个人主页:我们的五年https://blog.csdn.net/djdjiejsn?typeblog 🔍系列专栏:C课程学习https://blog.csdn.net/djdjiejsn/category_12617142.html 🎉欢迎大家点赞👍评论📝收藏⭐文章 C语言学…

Cesium特效——城市白模的科技动效的各种效果

最终效果图如下: 实现方法: 步骤一:使用cesiumlib生产白模,格式为3dtiles 注意事项:采用其他方式可能导致白模贴地,从而导致不能实现该效果,例如把步骤二的服务地址改为Cesium Sandcastle 里的…

仿 RabbitMQ 的消息队列3(实战项目)

七. 消息存储设计 上一篇博客已经将消息统计文件的读写代码实现了,下一步我们将实现创建队列文件和目录。 实现创建队列文件和目录 初始化 0\t0 这样的初始值. //创建队列对应的文件和目录:public void createQueueFile(String queueName) throws IO…

无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整

无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整 0 前言 之前文章添加了一个自定义的模块,本篇文章在之前的自定义模块中,添加两个自定义参数 使用QGC显示出来,并通过QGC调整参数值,代码实现参数更新 新增的参…

【真机调试】前端开发:移动端特殊手机型号有问题,如何在电脑上进行调试?

目录 前言一、怎么设置成开发者模式?二、真机调试基本步骤? 🚀写在最后 前言 edge浏览器 edge://inspect/#devices 谷歌浏览器(开tizi) chrome://inspect 一、怎么设置成开发者模式? Android 设备 打开设…

2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数

快速分解质因数 完整题目和在线测评可点击下方链接前往: 快速分解质因数_C_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/cpp/show-3781.htmlhttps://www.hixinao.com/tiku/cpp/show-3781.html 若如其他赛事真题可自行前往题库中心查找,题…

Linux系统下速通stm32的clion开发环境配置

陆陆续续搞这个已经很久了。 因为自己新电脑是linux系统无法使用keil,一开始想使用vscode里的eide但感觉不太好用;后面想直接使用cudeide但又不想妥协,想趁着这个机会把linux上的其他单片机开发配置也搞明白;而且非常想搞懂cmake…

【FFmpeg】FLV 格式分析 ③ ( Tag Body 数据块体结构 - Vedio Data 视频数据 )

文章目录 一、Tag Body 数据块体结构 - Video Data 视频数据1、Vedio Data 视频数据 类型标识2、Vedio Data 视频数据 结构分析3、Composition Time Offset 字段涉及的时间计算4、AVC Packet Type 字段说明① AVC Sequence Header 类型② AVC NALU 类型③ AVC End of Sequence …

尚硅谷大数据数仓项目superset db upgrade报错解决(2025.1.23解决)

尚硅谷大数据数仓项目superset db upgrade报错解决(2025.1.23解决)和 superset安装MySQL报错解决 解决方法(2025.1.23解决) 0.卸载之前安装好的Superset -- 退出当前环境 conda deactivate-- 卸载Superset conda remove -n sup…

vue3+uniapp开发鸿蒙初体验

去年7月20号,uniapp官网就已经开始支持鸿蒙应用开发了,话不多说,按照现有规则进行配置实现一下鸿蒙开发效果; 本文基于macOS Monterey 版本 12.6.5实现 开发鸿蒙的前置准备 这里就直接说我的版本: DevEco Studio 5.…

996引擎 - 前期准备-配置开发环境

996引擎 - 前期准备 官网搭建服务端、客户端单机搭建 开发环境配置后端开发环境配置环境 前端开发环境配置环境 后端简介前端简介GUILayoutGUIExport 官网 996传奇引擎官网 所有资料从官网首页开始,多探索。 文档: 996M2-服务端Lua 996M2-客户端Lua 搭…

Python FastAPI 实战应用指南

文章目录 1. 前言2. FastAPI 的优势3. FastAPI 快速入门3.1 安装3.2 最简单的 API 案例 4. 基础功能应用4.1 模型验证和参数校验4.2 实现高级计划:用于实时功能和快速发布 5. 高级应用5.1 实现 OAuth2 认证5.2 提供 WebSocket 支持 6. 总结 1. 前言 FastAPI 是一个…

Vue3 项目打包并部署到Nginx

一、安装Nginx 官网下载链接: nginx: downloadhttps://nginx.org/en/download.htmlhttps://nginx.org/en/download.html 下载后解压并双击 nginx.exe 启动服务: 打开浏览器,访问 http://localhost/ ,若出现如下页面&#xff0c…

二叉树(了解)c++

二叉树是一种特殊的树型结构,它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分,其次序不能任意颠倒,因此是一颗有序树 以A结点为例,左边的B是它的左孩子,右边的C是…

会议签到系统的架构和实现

会议签到系统的架构和实现 摘要:通过定制安卓会议机开机APP呈现签到界面,并且通过W/B结构采集管理签到信息,实现会议签到的功能。为达到此目标本文将探讨使用Redis提供后台数据支持;使用SocketIo处理适时消息;使用Flask进行原型开…

PIC单片机HEX文件格式分析

在调试PIC单片机在bootloader程序时,需要将hex文件转换为bin文件,在转换之前先了解一下hex文件中数据是如何定义的。 直接打开一个LED灯闪烁的程序生成的hex文件,芯片型号为PIC18F46K80 可以看到每条数据都是由6部分组成的,下面分…