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

【Linux】权限的概念及理解

1.权限下两种用户

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

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

指令su用来切换用户

1.从普通用户user切换到root用户使用 su root(root可以省略)在这里插入图片描述
注意此时虽然用户切换了但家目录还是原用户的家目录,相当于在原家目录下换了一个用户。
1.2从普通用户user切换到root可以使用su -指令,相当于重新登录,家目录发生变化
在这里插入图片描述

2.可以使用exit或Ctrl+d来返回原用户
在这里插入图片描述
2.2也可使用su user直接返回普通用户,家目录不变
在这里插入图片描述

总结:

普通用户切换到其他用户(包括root)需要输入目标用户的密码,而root用户切换到其它用户直接切换不需要密码

当我们执行某条指令时需要提升权限怎么办?用指令 sudo command

在这里插入图片描述
看出我们目前用adduser新建的用户,没办法执行sudo,因为系统不信任,除非将普通用户添加到系统信任的白名单里面。
现阶段若想提升权限,还是先老实切换用户

1.2什么是权限

权限就是一件事是否允许被你做

1.权限认证的是身份(和人有关)
(具体用户)包括:root,普通用户
权限身份 包括:拥有者,所属组,其他人

为什么需要所属组?
因为需要组内协同的同时,不给其他人权限

人和权限身份的关系不是割裂冲突的,而是需要相结合的,权限身份需要一定的人来承担

2,权限也和事物的属性有关
从文件的属性出发包括
r(read):读取权限,允许用户读取文件内容或列出目录中的文件。
w(write):写入权限,允许用户修改文件内容或向目录中添加/删除文件。
x(execute):执行权限,允许用户执行文件(对于目录,表示可以进入该目录)。
-:对应的权限位置,没有权限

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

文件类型:

-:普通文件:文本,可执行程序,库基本属于普通文件
d:目录文件
b:块设备文件:磁盘文件
在这里插入图片描述
c:字符设备文件:键盘,显示器文件
p:管道文件:用来进行通信的

注意:Linux系统中文件名后缀没有直接意义(不代表不适用后缀),在Linux系统上运行的其他软件可能需要后缀如编译器gcc

通过ls-l查看文件详细信息,可得文件对应部分的属性
在这里插入图片描述
1.可以发现权限身份信息中没有其他人的信息,因为用户在访问文件前需要登录,访问时比对权限身份若既不是拥有者也不是所属组,那么就是其他人。其他人的信息太多所以没必要列举,另外root不受权限约束
2.绿色事物属性的权限部分,人的权限身份和事物的属性结合起来了,每个位置是什么含义都是确定的,第一个为读,第二个为写,第三个为可执行,每个位置只有是或否具有该权限

3.权限的设置修改

3.1chmod

使用chmod指令,全称是change mode,可对文件和目录的权限进行修改
格式:chmod [参数] 权限 文件名
-R:递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

u(user):文件或目录的所有者。
g(group):文件或目录所属组的成员。
o(others):其他用户。
a(all):所有用户
可用符号来修改:
+:添加权限。
-:移除权限。
=:设置权限(覆盖现有权限)。
注意:只有文件拥有者和root才可以改变文件的权限

将上述的参数和权限名组合起来使用指令

对单个权限身份的属性进行添加
在这里插入图片描述
对单个权限身份的属性进行移除
在这里插入图片描述
对多个权限身份的属性进行添加
在这里插入图片描述
三个权限身份间要用,相隔,也等价于a+rwx
同理只要把+变成-可以实现单个或多个权限身份的属性移除,同时属性±的数量也可以自己控制

3.1.2二进制与八进制的表示

由于每一个属性只存在具有或没有权限的两种状态,所以可以用二进制来表示每一属性的状态,有三个属性,三位刚好可以用8进制来表示三个属性各种状态的组合

在这里插入图片描述
例如全部移除
在这里插入图片描述
全部添加
在这里插入图片描述

3.2chown

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

作为普通用户没权限直接修改文件
在这里插入图片描述
需要root权限,或普通用户使用sudo提升权限执行该指令
在这里插入图片描述
注意:修改文件拥有者后,自己的身份权限变成所属组

3.3chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

同理可得相同操作,可在更改拥有者后更该所属组,完成后自己的身份权限变成其他人。普通用户没权限更改,需要sudo提权或使用root超级用户

可以使用chown 拥有者:所属组 文件或目录,一次性更改人的权限信息

在这里插入图片描述
chgrp不能进行该操作

3.4权限冲突问题

进行身份认证的时候,只能选择一个角色进行认证

在这里插入图片描述
文件拥有者和所属组都是ywb,所以从前往后就只认证ywb为拥有者,不再往后认证

3.5起始权限问题

知识储备:默认普通文件的起始权限是666,二进制为110 110 110;
目录是777,二进制为111 111 111

在这里插入图片描述
我们创建时所看到的:
普通文件是664,二进制为110 110 100
目录文件是775,二进制为111 111 101
最终权限与起始权限不同中间肯定发生了某种转化,了解权限掩码

3.5.1umask权限掩码

凡是在umask中出现的权限,不会在最终的文件权限中出现。

普通用户默认的umask为0002,第一位代表八进制数不计入计算
在这里插入图片描述
超级用户默认掩码值为0022
在这里插入图片描述

最终权限=起始权限&(~umask),还可以通过umask 0xxx来设置掩码

权限掩码的应用重要!!!
当我们想或不想让创建的文件或目录具有某种权限,那么就更改对应的权限掩码,应为最终权限需要经过与运算所以会遵循上述所说在umask出现过的权限不会在最终文件中出现。

3.5.2file指令

功能说明:辨识文件类型。
语法:file [选项] 文件或目录…

常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

4.目录的权限

r:读权限并不会影响我们进入目录,但限制我们查看目录下文件列表
w:是否允许我们在当前目录下进行创建、更改、删除
x:如果目录没有可执行权限, 则无法cd到目录中.

普通用户自己的家目录权限是700,在各自家目录创建的文件,别人都看不见
在这里插入图片描述
但是有时多个用户间需要文件数据的共享,所以这就要求所建立的共享文件,不能在任何一个人的家目录下

可以在根目录下创建共享目录,作为共享用户的我们身份权限都为其他人,只需通过根目录进行其他人权限的添加即可。
这里会有一个问题?
通过测试,发现属于自己的文件在共享文件中可以被其他人删除,这说明一个文件能否被删除,并不由文件本身决定,而是由这个文件所处的目录决定
可以通过修改目录其他用户的写权限来禁止删除他人文件操作,但同时也禁止了在该目录下创建文件,失去了共享目录的意义。
需要我们引入一个新的权限位—粘滞位

在根目录下创建共享目录需要root用户,其他用户没有读写权限
在这里插入图片描述

注意:

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(易错,认为有读权限就可以进入目录读取目录下的文件)

4.1粘滞位

在这里插入图片描述
在这里插入图片描述
t就是粘滞位,添加之后原来的x变为t,t是一种特殊的可执行权限,允许用户新建文件,但禁止互删

粘滞位意义:
一般给共享目录设置,大家可以在共享目录中进行各自文件的增删查改,只允许文件拥有者或root能删这个文件,其他人不允许,t是一种特殊的x权限

我们不一定需要自己在根目录下创建共享目录,系统中自带了一个共享目录tmp,唯一一个有粘滞位的目录并且所有权限打开,可以将临时文件存入其中
在这里插入图片描述

http://www.lryc.cn/news/583088.html

相关文章:

  • 进程于线程-3
  • 代码审计-springel表达式注入
  • JSP动态网页开发基础
  • 前后端集合如何传递
  • 主流大模型Agent框架 AutoGPT详解
  • thinkphp使用redis抢单实例
  • 如何将华为手机中的照片传输到电脑
  • 超越公有云:在裸金属服务器上构建低成本、高性能的静态资源服务
  • 【RK3568+PG2L50H开发板实验例程】FPGA部分 | Pango 的时钟资源——锁相环
  • 川翔云电脑:突破硬件极限,重构设计生产力范式
  • 使用DDR4控制器实现多通道数据读写(十九)
  • Amazon S3 对象存储服务深度解析:存储原理、应用场景与实战指南
  • 1.1 ARMv8/ARMv9安全扩展
  • ReactNative【实战】轮播图(含组件封装 ImageSlider)
  • 洛谷P1044 栈(学习向)
  • react16-react19都更新哪些内容?
  • clickhouse 各个引擎适用的场景
  • 【TCP/IP】2. 计算机网络与因特网体系结构
  • 手机文件夹隐藏工具,一键保护隐私
  • 数据库性能优化指南:解决ORDER BY导致的查询性能问题( SQL Server )
  • Dify 文本语意识别与自动补全工作流
  • MyBatisPlus-03-扩展功能
  • C#基础篇(11)泛型类与泛型方法详解
  • 1068.产品销售分析Ⅰ
  • huggingface 笔记: Trainer
  • 打造自己的组件库(二)CSS工程化方案
  • 跨服务sqlplus连接oracle数据库
  • 54页|PPT|新型数字政府综合解决方案:“一网 一云 一中台 N应用”平台体系 及“安全+运营”服务体系
  • 人工智能的基石:TensorFlow与PyTorch在图像识别和NLP中的应用
  • 影石(insta360)X4运动相机视频删除的恢复方法