【Linux】权限理解

news2024/11/19 18:46:10

Linux权限理解

  • shell外壳运行原理
    • 为什么我们不是直接访问操作系统?
    • 外壳程序的意义
  • 权限的概念与操作
    • 用户的权限
      • 如何进行Linux下用户身份的切换?
    • 角色和文件的权限
      • 权限是什么?
      • Linux中文件的类型是如何被确定的?
      • 权限与角色的关系
      • 权限与文件属性的关系
    • 如何操作权限?
      • 关于文件属性的权限操作
      • 关于角色的权限操作
  • 常见权限问题

shell外壳运行原理

Linux严格意义上说是一个操作系统,我们称之为“核心(kernel)”,但我们一般用户不能直接使用kernel,而是通过kernel的外壳程序shell,来与kernel进行沟通。

为什么我们不是直接访问操作系统?

如果让用户直接访问操作系统有两方面的问题:

  • 操作成本特别高
  • 人会犯错,从而带来不安全问题

对于Windows下的图形化界面和Linux下的指令操作其实都是操作系统提供的外壳程序。

外壳程序的意义

  • 是用户和操作系统交互的中间软件层
    • 外壳程序将用户的命令翻译给kernel处理
    • 同时将kernel处理的结果翻译给使用者
  • 可以在一定程度上起到保护操作系统的作用

查看自己的外壳程序:
在这里插入图片描述
这里bash是shell外壳程序的一种。

权限的概念与操作

用户的权限

Linux是一个多用户操作系统,可以同时存在多个用户。
Linux下的用户可以分成两类:
1. root用户(只有一个)
具有Linux下的最高权限,一般都不会以受到权限的约束。
2. 普通用户(可以有多个)
会受到权限的约束。
其实,Linux系统下对于root用户和普通用户的切换,就是对权限的切换。

如何进行Linux下用户身份的切换?

  1. 普通用户到root用户的切换:
    在这里插入图片描述
  2. root用户到普通用户的切换:
    如果是从普通用户切换到root用户的情况下,可以直接ctrl + d切换到之前登录的普通用户。
    在这里插入图片描述
    也可以通过su 用户名来从root用户切换到普通用户。
    在这里插入图片描述

角色和文件的权限

权限是什么?

由Linux下一切皆文件的思想,我们谈论的也将会是文件的权限。
概括来说,Linux下的权限是指一件事情是否允许被角色“做”。
这涉及到两个核心方面:角色文件属性

Linux中文件的类型是如何被确定的?

Linux不像Windows系统,以文件后缀来区分文件类型。
在这里插入图片描述
常见的文件类型有:
d:目录
-:普通文件
p:管道文件
在这里插入图片描述
b:块设备(如磁盘设备)
在这里插入图片描述
c:字符设备(如键盘或显示器设备)
在这里插入图片描述
l:链接文件
在这里插入图片描述

虽然从系统层面上来说文件后缀没有什么意义,但是文件后缀可以方便使用者的查看。
但是,有时候我们会遇到像下面这样关于文件后缀的问题:
在这里插入图片描述
而这里要说明的是,我们所说的不以文件后缀来区分文件类型,是在Linux系统环境的层面来说的。而gcc是Linux环境上安装的一个软件,至于这些软件对文件后缀有没有要求,那就是这些软件的规定了。

权限与角色的关系

Linux将用户身份划分为三类角色:文件拥有者,文件所属组,other(不属于前两种的都是other)。
在这里插入图片描述
文件所属组的存在可以使文件实现组内管理。

权限与文件属性的关系

在这里插入图片描述

如何操作权限?

对权限的操作分为两个方面:对角色的操作和对文件属性的操作。

关于文件属性的权限操作

  1. 对单角色文件属性的权限操作:
    在这里插入图片描述

  2. 对多角色文件属性的权限操作:
    在这里插入图片描述

  3. 八进制下对文件属性的权限操作:
    在这里插入图片描述
    因为三种角色中任意一种角色,对一个文件都对应有rwx三种操作权限,而每一种操作权限只分为有和没有两种状态,所以每一种角色对一个文件的权限操作的状态就有8( 2 3 2^3 23)种,可以使用8进制数进行对应表示。因为是三种角色,自然就由3个8进制数来进行对一个文件的权限状态的表示。
    至于ugo+-和8进制这两种对文件权限状态的操作方式,自己想用哪个就用哪个呗。

  4. 文件属性对权限操作的影响
    在这里插入图片描述
    上面的例子中,虽然文件是属于当前角色的,但是角色却不能对它做任何操作。
    举个形象的例子,就像过年时收到的红包是你的,但是被父母收起来了,你就没有了对红包的使用权限。
    在这里插入图片描述
    在root用户下,几乎可以无视文件权限对操作的影响。
    如上面例子中,root虽然属于other角色,但是依旧可以对文件读写,可以认为是开挂的存在 ,这也说明了root用户和普通用户是有区别的。

关于角色的权限操作

在这里插入图片描述

常见权限问题

  1. 进入一个目录,需要什么权限?
    在这里插入图片描述
    这种情况下,以文件拥有者的角色来看,没有对目录的任何操作权限。
    以文件所属组的角色来看,是有读写和执行的权限的。
    而此时cd命令被拒绝了,说明此时使用的是文件拥有者的角色。
    事实上,如果已经是文件拥有者了,那就只会看文件拥有者所对应的权限,和文件所属组的角色没有关系。
    如果不是文件拥有者,而是文件所属组的角色,那么也会只看文件所属组角色所对应的权限。
    这就是所谓的权限只会被认证一次
    在这里插入图片描述
    从上面过程可以看出,进入一个目录需要的是x权限。
  2. rw权限是限制了目录的什么呢?
    r:限制查看目录下的文件
    w:限制在目录下创建或删除文件
  3. 创建一个目录或文件时,它的权限是如何被赋予的?
    在这里插入图片描述
    其实创建一个目录的起始权限是777(rwxrwxrwx),创建一个普通文件的起始权限是666(rw-rw-rw-)。
    但我们看到的最终权限却有一些不一样,这是因为权限掩码(umask)的作用。
    在这里插入图片描述
    这里要记住凡是umask中出现的权限,都不能在最终权限中出现。
    从起始权限到最终权限有一个换算的过程:最终权限=起始权限&(~umask)
    以起始权限777为例进行如下换算:
    在这里插入图片描述
    同理,起始权限666经过换算可以得到最终权限是664
    权限掩码(umask)其实是可以被修改的。
    在这里插入图片描述
    被修改之后,新建目录或普通文件经过换算的最终权限自然也会受到相应的变化。
  4. 粘滞位的使用
    假如有一个公共的目录mytemp,所有人都可以在里面存放文件。
    在这里插入图片描述在这里插入图片描述
    虽然在这个公共目录里面,我们也许对别人的文件没有任何操作权限,但我们却可以将别人的文件删除。
    在这里插入图片描述
    至于为什么能将别人的文件删除,那是因为在目录下,新建或删除文件,只是和目录是否给了写的权限有关。
    如果想要既保持在目录下创建删除文件的权限,又不至于对别人的文件具有随意删除的危险,这里就可以使用粘滞位了。
    在这里插入图片描述
    在这里插入图片描述
    因为有了粘滞位的作用,再在公共目录下删除别人的文件时操作就被限制了。
    这里再说明一下粘滞位只能给目录设置,一般是谁设置的谁才能取消(root权限也能取消)。

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

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

相关文章

玩机搞机---修改系统固件不开机 安卓13去除系统app签名验证的几种方法

谷歌在安卓13中对系统应用添加了一层校验验证,你如果修改了系统app.那么原有的签名加载后过不去验证,会导致进不去系统卡第一屏或者进入系统后修改的app错误等等故障。 Android 13增加了新的apk签名校验机制,现在开机中它会对所有系统分区&a…

Hive中怎样创建和查询视图信息?

视图是从数据库的数据表中选取出来的数据组成的逻辑窗口,它是一个虚拟机表。引入视图后,用户可以将注意力集中在关心的数据上,如果数据来源于多个基本表结构,并且搜索条件比较复杂时,需要编写的查询语句就会比较烦琐&a…

hivesql 将数据处理成复杂json

类型一 原数据:bankid是array类型 目标数据: {"bankname": ["SPDB", "WS_HBBANK", "mytest"],"grid": [{"name": "阶段1","values": ["38.0,1.0,1.0"]}…

安全生产月评选活动-优秀的“安全之星”,塑造榜样力量

安全生产月评选活动-优秀的“安全之星”,塑造榜样力量。 推荐功能:投票 企业可以举办安全生产月评选活动,选出优秀的“安全之星”,进行内部评选,塑造榜样力量。 首先,让我们先来了解一下“安全生产月评选活…

MYSQL各种log

本章纲要 1、mysql主从复制是怎么实现的(binlog,relaylog) 2、事物执行原理是怎么保证ACID的(redolog,undolog) 一、Mysql是怎么实现主从复制的 数据库主从设计的好处: 1、实现读写分离,方便扩展&#…

MySQL 磁盘爆了,是 optimize table 的锅

2023-06-26 22:17左右,收到某系统的主库磁盘使用率告警。2023-06-26 23:02左右收到该系统的从库磁盘使用率告警。 收到告警后,登录数据库查看各表的磁盘使用。 经分析发现DB存在一个当日的备份表t_eap_sys_navigation_log_bak_20230626 ,且在…

4077:出栈序列统计

codeup【递归入门】出栈序列统计_codeup编程_战斗的咸鱼的博客-CSDN博客 #include<iostream> using namespace std; int n,sum,ans; void dfs(int out,int in,int not_in){if(outn){ans;return;}if(in>0) dfs(out1,in-1,not_in);if(not_in>0&&in<n) dfs…

Vue模板编译

文章目录 导文Vue模板编译是什么&#xff1f;模拟编译模板总结 导文 Vue框架使用了模板编译的方式来将Vue模板转换为可执行的JavaScript代码。这个编译过程在运行时由Vue的编译器完成。 在Vue中&#xff0c;模板是以HTML标记的形式编写的&#xff0c;其中可以包含Vue的特殊语法…

【探索 Kubernetes|作业管理篇 系列 14】StatefulSet 存储状态

前言 大家好&#xff0c;我是秋意零。 在上一篇中&#xff0c;我们讲解了 StatefulSet 的拓扑状态&#xff1b;我们发现&#xff0c;它的拓扑状态&#xff0c;就是顺序启动/删除、Pod 名称编号命名、将 Pod 名称设为 Hostname 名称、通过 Service 无头服务的 DNS 记录访问。 …

基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)

目录 项目介绍研究背景国内外研究现状分析研究目的研究意义研究总体设计网络爬虫介绍豆瓣电影数据的采集数据预处理大数据分析及可视化豆瓣影评结构化分析 大屏可视化文本可视化总结每文一语 项目介绍 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博…

虹科DataHub:连接工业自动化的桥梁,引领企业数字化转型

一、前言 随着智能制造、工业互联网等新一代信息技术的不断发展&#xff0c;IT和OT融合已成为未来制造业数字化转型的重要趋势。得益于开放的系统架构和创新的软件应用&#xff0c;OT&#xff08;工业自动化技术&#xff09;和信息技术&#xff08;IT&#xff09;系统之间的数…

在windows系统中映射网络驱动器时,如何通过非455端口远程访问Linux服务器的Samba服务

声明 通常情况下&#xff0c;在windows中通过Linux服务器的Samba服务去映射网络驱动器时候&#xff0c;一般默认就是直接填入内网Linux服务器ip即可&#xff0c;它会默认445端口。若是我的windows并不和Linux服务器在一个网段时&#xff0c;该如何操作呢&#xff1f; 1 用管理…

一键转发微信好友朋友圈,自动跟圈

今天咱来讲一下如何实现一键转发朋友圈&#xff1f; 如何一键跟圈&#xff0c;多个微信快速同步发圈&#xff1f; 01 一键转发 浏览朋友圈&#xff0c;在此页面可以浏览所登录的微信号的好友朋友圈&#xff0c;可以实现快速点赞、评论、一键转发。 单击“转发”即可跳转到发…

D. Optical Experiment

题意&#xff1a; D. 光学实验 时间限制&#xff1a;5秒 内存限制&#xff1a;256兆字节 输入&#xff1a;标准输入 输出&#xff1a;标准输出 Phunsuk Wangdu教授进行了一些关于光线的实验。n条光线的实验装置如下&#xff1a; 有一个长方形盒子&#xff0c;在相对的两面…

windows的环回网卡(loopback adapter) 安装方法

0.说明&#xff1a;windows的环回网卡(loopback adapter)的作用&#xff1a; microsoft loopback adapter就是安装在本机上的一块虚拟网卡&#xff0c;它跟本机上的其它物理网卡、和物理网卡连接的网络是没有关系的&#xff0c;你可以理解成这块网卡上的网线接到了另外一个空白…

葡萄风味有奥秘,农科院用机器学习揭示基因渐渗过程

内容一览&#xff1a;基因渐渗与葡萄的驯化、遗传改良密切相关。先前研究揭示了欧洲栽培葡萄中&#xff0c;野生葡萄基因渐渗的基因组信号&#xff0c;但尚未深入研究这些渐渗事件发生的时间、方式、基因组模式和生物学效应。本文中&#xff0c;中国农业科学院深圳农业基因组研…

【杂谈理解】电源芯片设计选型

前言 看B站UP主达尔闻关于电源视频&#xff0c;做的笔记。下述内容中&#xff0c;如有芯片比较皆是性能层面的比较&#xff0c;暂未考虑成本。且老师在视频中&#xff0c;也多次建议说&#xff0c;可以多关注比较新兴的芯片&#xff0c;一般会是有更好的性能。讲的真的很好&…

【MySQL】MySQL数据库,RDBMS 术语,使用说明和报错解决的详细讲解

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

转型升级必备:智能客服外包服务的应用实践

随着信息技术的不断发展&#xff0c;人工智能技术在各个领域的应用越来越广泛&#xff0c;其中智能客服外包服务是一个备受关注的领域。智能客服外包服务是指将企业的客服业务交由专业的第三方服务商处理&#xff0c;并运用人工智能技术提供更高效、更优质的客服服务。本文将从…

FineReport学习2

当原始数据中存储的字段不适宜展现在报表上&#xff1b;或原始数据在数据查询时不易修改&#xff0c;但对显示在报表中的值有要求&#xff1b;或需要根据不同的原始数据在报表中显示不同的值时&#xff0c;就可以利用数据字典做巧妙的转化 设置数据字典 数据列的过滤&#xff…