当前位置: 首页 > news >正文

【Linux】权限(1):初识权限与使用理解

目录

 一 Linux权限的概念

Linux 下有两种用户:超级用户(root)、普通用户

什么是白名单机制呢?

su && su root

su~

sudo

exit

ctrl+D

二 Linux的权限管理

1 权限的本质

2 权限角色

3 groups

3 权限属性 rwx

4 示例

5 几个问题

1 整体如何理解?

2 为什么要有所属组?

6 如何修改权限

方法一

chmod 命令

方法二

7 修改拥有者&&所属组

chown 命令

chgrp 命令

8 文件类型

9 三个关于权限的问题(面试题)

(1)进入一个目录需要什么权限?

(2)什么决定了文件或目录的默认权限?

(3)root新建的文件,普通用户不读不写不执行,可以删除吗?


 一 Linux权限的概念

Linux 下有两种用户:超级用户(root)、普通用户

・超级用户:可以在 Linux 系统下做任何事情,不受限制

・普通用户:在 Linux 下做有限的事情。・超级用户的命令提示符是 “#”,普通用户的命令提示符      是 “$”。

那怎么解决呢?

解决方案1:把普通账号,变成root账号。但是只能是管理员做

解决方案2:对指令进行提权! 所有的合法用户做。

指令提权就用到了指令sudo,在使用sudo时输入密码输入的是自己的密码

但是如果所有的指令都能提权的话,那么权限不就形同虚设了吗?

在默认情况下,普通账号是无法进行sudo的

普通用户之间,无法sudo

为什么有些用户能直接执行提权,而有些用户不能呢?

是因为白名单机制:只有在白名单里面的人,才能执行sudo

什么是白名单机制呢?

白名单机制是一种用于限定允许访问或授权成员资格的安全策略。

白名单机制的工作原理是基于一种筛选机制,通过验证实体是否在预定义的白名单中,来决定是否允许其进行特定操作或访问资源。只有出现在白名单中的项目才被允许通过或执行,其他所有未明确授权的都被自动拒绝,遵循 “未被明确允许的,就是被禁止的” 原则。

可以将白名单理解为Linux中的一个配置文件

su && su root

定义:切换账号/用户

特点:路径不改变

指令:su[用户名]   从当前用户切换为su后的用户

su~

定义:让超级用户宠幸登录

使用前提:root账号才能这么干

sudo

定义:对指令进行提权

特点:第一次sudo之后10~15分钟的登录期间不用再输密码;默认情况下,普通账号是无法进行sudo的。

exit

定义:切换回普通账号

ctrl+D

这个热键和exit功能相同,都是切回普通账号。

区别:Ctrl + D两次,会推出XShell。


二 Linux的权限管理

1 权限的本质

权限的本质是主体(如用户、进程)对客体(如文件、数据库、网络资源)执行特定操作(如读、写、执行)的资格或能力的约束与管理

权限的本质是限制:“角色”

 什么是角色呢?

例如:你叫张三,是一个校长。只有校长才能进入校长室,那么你能进入校长室是因为你是张三,还是你是校长?

很显然:是因为你是校长。此时校长就是你的角色。

角色+具体的人=人

2 权限角色

在Linux系统中,权限角色有三类:文件的拥有者   文件的所属组  文件的other

1 文件的拥有者

文件的拥有者是指创建该文件的用户(或被特权用户指定的用户),是对文件拥有核心控制权(可修改权限、内容等)的 “默认负责人”。

2 文件的所属组

文件的所属组是指该文件所归属的一个用户组,组内所有用户可共同享有系统为该组设定的对文件的访问权限,其核心作用是方便多用户间共享文件权限。

3 文件的other

既不是文件拥有者,也不属于文件所属组的所有系统用户,是权限范围最广的一类

举个例子:你买了一个电脑,这个时候你就是电脑的拥有者。但是你的爸爸妈妈也可以使用这个电脑,这个时候爸爸妈妈就是所属组。而像你的邻居,过路人等等,就是other

3 groups

定义:查看所属组

3 权限属性 rwx

r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息 的权限

w/2):Write对⽂件而言,具有修改文件内容的权限;对⽬录来说具有删除移动目录内文件的权限

执行x/1):execute对文件而言,具有执行文件的权限;对⽬录来说,具有进入目录的权 限

“—”表示不具有该项权限

4 示例

我们发现,在文件类型的后面,有九位字母:三位为一组,分别代表拥有者的属性,所属组的属性,other的属性

注意:rwx的顺序不能改变!!!

以拥有者权限为例:

角色:拥有者

人:root

文件权限:rwx

为什么这里没有other?

因为other指的是出来拥有者和所属组之外的人!很多!不需要记录!!

怎么理解拥有者,所属组,other和root,whb,zhangsan的区别?

5 几个问题

1 整体如何理解?

权限 = 角色 + 目标事物的属性

本质上角色会由人扮演(权限就是限制人的,有的人可以有的人不能),如果这个时候是权限角色中的一个,但是没有相应的文件属性,那也不能对文件操作

2 为什么要有所属组?

 

比如说在公司,有两个组共同挑战一个项目,你叫张三。当你写出来一个code.c的文件,你的倒是需要权限去看,如果没有所属组,那么只能打开other的权限,但与此同时其他组的人也能看,李四可能会cope。

但其实这种情况比较少,默认情况:每一个人,自成一个组!!!

所属组就是在一个特定的范围内,进行权限管理

也可以把一个人加到自己的组里:

6 如何修改权限

方法一
chmod 命令

功能:设置文件或目录的访问权限。

格式chmod [参数] 权限 文件名

常用选项

  • -R:递归修改目录及其子目录下所有文件的权限(仅对目录有效)。
  • 说明:只有文件的拥有者和 root 用户才有权限改变文件的访问权限。

chmod 命令权限值的格式用户表示符 +/-/= 权限字符

  • 操作符含义

    • +:向指定的权限范围增加权限代号所表示的权限。
    • -:向指定的权限范围取消权限代号所表示的权限。
    • =:向指定的权限范围赋予权限代号所表示的权限(覆盖原有权限)。
  • 用户表示符含义

    • u:文件的拥有者(User)。
    • g:文件所属组的用户(Group)。
    • o:其他用户(Other)。
    • a:所有用户(All,即 ugo 的总和)。

当使用 chmod u+a   就表示拥有者增加所有权限

还可以组合使用指令:

sudo chmod 是一个组合命令,意思是以超级用户(root)的权限执行 chmod 命令,用于修改那些当前用户(非 root)本身没有权限修改的文件或目录的访问权限

没有权限会有什么问题?

普通账号受到权限约束,root几乎不受!

Linux中,身份匹配,只会匹配一次!

例如:你的拥有者和所属组都是whb,拥有者没有任何权限,而所属组只有可读。但是系统匹配了第一个拥有者之后,就不会再匹配后面的

权限识别,只会识别一次

x:可执行???

具有可执行权限 != 可以执行

可以执行 = 具有可执行权限 + 你就是一个二进制文件

方法二

我们知道,每一位的取值只有有权限和没有权限两种,我们把有权限假设为1,没有权限假设为0

那么我们可以把每一个成员的二进制数转化成十进制数,结合起来,就可以修改

7 修改拥有者&&所属组

chown 命令

功能修改文件或目录的拥有者(Owner)。

格式chown [参数] 用户名 文件名

常用参数

  • -R:递归修改目录及其子目录下所有文件的拥有者(仅对目录有效)。

实例

  1. chown user1 f1:将文件 f1 的拥有者修改为用户 user1
  2. chown -R user1 filegroup1:递归将目录 filegroup1 及其内部所有文件的拥有者修改为用户 user1

chgrp 命令

功能修改文件或目录的所属组(Group)。

格式chgrp [参数] 用户组名 文件名

说明:与 chown 类似,chgrp 也支持 -R 参数进行递归修改。例如 chgrp -R dev groupdir,表示递归将目录 groupdir 及其内部所有文件的所属组修改为 dev 组。

8 文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘,光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

9 三个关于权限的问题(面试题)

(1)进入一个目录需要什么权限?

对目录来讲:

  1. x 决定是否能进入
  2. r 决定是否能查看目录下的文件信息
  3. w 决定在指定的目录下,是否能够删除和新建文件文件是否能被删除,由所在的目录 w 决定!!!!!(不由拥有者决定)

(2)什么决定了文件或目录的默认权限?

(3)root新建的文件,普通用户不读不写不执行,可以删除吗?

这两个问题我们在下一篇讲解

http://www.dtcms.com/a/572774.html

相关文章:

  • 深圳专业做网站的公司河南企业建站系统信息
  • 企业门户网站设计报告wordpress接口
  • 基于大数据的天气分析与应用系统
  • spark读取table中的数据【hive】
  • 最后一轮征稿开启 | ACM出版 | 第二届大数据分析与人工智能应用学术会议(BDAIA2025)
  • 史诗级:在麒麟离线服务器上部署 Dify (含 Weaviate、Nginx 网关、FIP 及离线插件)
  • 潮州网站制作网站建设与管理怎么样
  • 一次实时采集任务延迟问题的完整复盘(Flink CDC)
  • Linux常用命令练习题
  • 常见的接口协议有哪些?(HTTP/HTTPS、REST、SOAP、WebSocket等)
  • Linux 进阶权限管理核心:权限掩码umask与粘滞位的深度解析
  • Flink+Paimon+StarRocks 构建实时分析
  • 快速搭建网站2020创业平台的选择
  • 使用C#代码添加或删除PPT页面
  • 12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
  • 商务演示专用AI PPT工具深度测评:哪些软件能让汇报更出彩?
  • 公司网站空间做那个免费视频网站
  • 【RabbitMQ的应用】
  • RabbitMQ的使用
  • 从零搭建 C++ 在线五子棋对战项目:从环境到上线,全流程保姆级教程
  • 基于传输熵理论的通信网络拓扑结构推理算法matlab仿真
  • 【基于one-loop-per-thread的高并发服务器】--- 前置技术
  • 企业级调度器 LVS 基础知识总结
  • 多线程异常、MQ、Kafka(八股)
  • 好的做蛋糕网站如何做网站淘客推广
  • 中国风网站建设网站建设信息平台
  • IndexedDB开发示例:面向对象的方式
  • GitLab CI/CD 集成 Harbor 全面教程
  • MySQL慢查询优化实战:从日志分析到SQL重构全流程
  • 每日一练 1(双指针)(单调性)