Linux权限及其理解

article/2025/8/29 21:38:37

文章目录:

  • Linux权限的概念
  • Linux权限管理
    • 文件访问者的分类(人)
    • 文件类型和访问权限(事物属性)
    • 文件权限值的表示方法
    • 文件访问权限的设置方法
    • 权限掩码
    • 目录的权限
    • 粘滞位
  • 总结

Linux权限的概念

与其它系统相比,Linux 系统的优点中最主要的一个便是 Linux 系统的安全漏洞和被攻击的隐患更少。Linux 无疑为用户提供了更灵活和精细化的文件系统安全权限控制。在 Linux 服务器中有严格的权限等级,若权限过高导致误操作会增加服务器的风险。所以了解 Linux 系统中的各种权限,以及如何给用户、服务等分配合理的权限是非常重要的!

在 Linux 系统下有两种用户:超级用户(root),普通用户。 超级用户(上帝视角)可以在 Linux 下执行任何操作,不会受到权限的限制。普通用户一般只能在自己的工作目录下操作,能在 Linux 系统中执行的操作是有限的。超级用户的命令提示符是"#“,普通用户的命令提示符是”$"。

在这里插入图片描述

❓如何实现用户账号之间的切换?

命令: su [用户名]
功能: 切换用户。root 用户切换到普通用户 user,使用 su user。从普通用户 user 切换到 root 用户,使用 su root(root可省略),此时系统提示输入 root 用户的密码。

在这里插入图片描述
该指令也可以从一个普通的用户切换为另外一个普通用户,输入待切换的用户账号密码即可。
切换用户后,可以通过 exit 或者 logout 进行退出当前用户,也可以用 Ctrl+D 切回上一次的用户。

❓如何提升当前指令的权限

在一些情况下,想要提升普通用户的指令的权限并不需要都切换到 root 下。

例如:在当前云服务器下,以一名普通用户的身份去修改另外一个普通用户的密码。但是当你输入密码后系统提示你没有被添加到信任列表,因此无法执行该命令。
在这里插入图片描述

❓怎样将普通用户添加到信任列表

首先切换到超级用户 root ,因为 root 才有权限将普通用户添加到信任列表。然后在 root 下执行以下操作:
在这里插入图片描述

执行完上述操作之后,再用该用户执行 sudo 命令,该用户就拥有了执行该指令的权限了。
在这里插入图片描述

Linux权限管理

文件访问者的分类(人)

  • 文件和文件目录的所有者:u(user),文件的拥有者。
  • 文件和文件目录的所有者和所在的组的用户,g(group),文件的所属组。
  • 其它用户:o(other),其他人。

输入 ll 指令可以查看文件的属性,可以看到文件的拥有者和所属组,除两者之外的都是 other。

在这里插入图片描述

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

文件由读、写、执行三个权限约束。超级用户 root 不受其中的权限约束,权限约束都是对于普通用户而言的。

如下图所示,文件的前10个字符代表着文件的类型和权限。

在这里插入图片描述

上图中的10个字符分别代表什么含义呢?我们用 myfile.txt 来分析一下:

在这里插入图片描述

不同的字符代表着不同的文件类型:

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

注意:在 Linux 中,文件类型与文件后缀无关。第一个字符代表文件的类型,剩下的9个字符分为3组,分别代表文件相对于其拥有者、所属者、other 的权限。

其它内容所代表的含义如下所示:
在这里插入图片描述
基本权限:
r : read 对文件而言,具有读取文件内容的权限;而对目录来说,具有浏览该目录信息的权限。
w : wirte 对文件而言,具有修改文件内容的权限;而对目录而言,具有删除以及移动目录内文件的权限。
x : execute 对文件而言,具有执行文件的权限;而对目录而言,就有进入目录的权限。
- :表示不具有该权限。


❓如何去描述一个文件的类型以及权限呢?以下面为例:
在这里插入图片描述
myfile.txt 文件是一个普通文件,该文件对拥有者和所属者都是可读可写的,而对该文件的 other 用户只有可读的权限。


文件权限值的表示方法

文件的权限值表示法有字符表示法8进制数值表示法

Linux字符表示法二进制值八进制值说明
- - -0000无权限
r - -1004仅可读
- w -0102仅可写
- - x0011仅可执行
r w -1106可读可写
r - x1015可读可执行
- w x0113可写可执行
r w x1117可读可写可执行

在这里插入图片描述

文件访问权限的设置方法

更改文件权限的命令:chmod

语法格式:chmod 选项 权限 文件名
功能:设置文件的访问权限
常用选项:R -> 递归式的修改目录文件的权限
说明:只有文件的拥有者和 root 才能改变文件的权限

chmod 命令权限值得格式:

1️⃣用户表示符 +/-/= 权限字符
1.+ :向权限范围增加权限代号所表示的权限
2. - :向权限范围取消权限代号所表示的权限
3. =:向权限范围赋予权限代号所表示的所有权限

用户符号:

  • u — 拥有者
  • g — 所属者
  • o — 其他用户(other)
  • a — 所有用户

例如:将可执行程序 a.out 的拥有者的可执行权限减去,那么拥有者将没有可执行此程序的权限。

在这里插入图片描述

需要设置多个用户的权限时,可同时设置不同用户的权限,中间需要用逗号分开。

在这里插入图片描述

2️⃣三位8进制数

使用三位8进制数来表示文件的权限,将8进制数写成对应的二进制数,按照1对应有权限,0对应没有权限来对文件的权限进行相应的设置。
在这里插入图片描述

❓如何修改文件的拥有者和所属者?

chown
功能:修改文件的拥有者
语法:chowm 选项 用户名 文件名
常用选项: -R 递归修改目录文件的拥有者

修改文件的拥有者和所属者需要使用 root 来进行操作,普通用户修改需要提升权限,可以用 sudo 来进行提升权限。
在这里插入图片描述

chgrp
功能:修改文件或者目录的所属组
语法:chgrp 选项 所属组名 文件名
常用选项:-R 递归修改文件或者目录的所属者

在这里插入图片描述

权限掩码

当我们创建一个文件或者目录时,系统会根据其属性给出默认的权限。
在这里插入图片描述
为什么我们创建的目录或者文件权限会是这样的?实际上,新建文件的默认权限是 0666,新建目录的默认权限是 0777。第一位0代表特殊权限,后三位是权限的八进制数值表示方法。

但是我们会发现,我们新建的文件默认权限是664,新建的目录默认权限是775。是因为创建文件和目录时的默认权限还受 umask 的影响。假设默认权限是 mask,则实际创建出来得文件权限是:mask & ~umask。

umask
功能:查看或修改文件掩码。
语法:umask 权限值
说明:将现有的存取权限减去权限掩码之后,即可以产生建立文件时的预设权限。超级用户默认掩码值为0022,普通用户默认掩码值为0002。

可以通过输入 umask 命令来查看文件的默认掩码:
在这里插入图片描述
但是我们创建出的文件或目录的实际权限需要进行再次运算才能够得出来,先将权限掩码的后三位八进制写成对应的二进制数,并且按位取反,将新建文件的默认权限值和新建目录的默认权限值分别与其进行按位与操作,最终得到的二进制数所对应的权限就是我们创建出的文件或目录的权限。

假设默认权限是 mask,则实际创建出来得文件权限是:mask & ~umask。
在这里插入图片描述
上述也可以理解为在 umask 中出现的权限为,不能在最终的实际权限中出现。一些场景下,我们可以修改 umask 来设置文件或目录创建时的权限。
在这里插入图片描述

目录的权限

可读权限:若目录没有可读权限,则无法用 ls 等指令查看目录中的内容。
可写权限:若目录没有可写权限,则无法在目录中创建文件,也无法删除文件。
可执行权限:若目录没有可执行权限,则无法进入到目录中。

但是,问题出现了。即用户只要具有目录的写权限,用户就可以删除目录中的文件,而不论此用户是否具有这个文件的写权限,这显然是不科学的!

在 Linux 下存在一些目录,拥有者和所属组都是 root,允许其他人以 other 的身份在该目录下进行文件的创建、读取、删除、修改等操作。在一个共享目录下,不让别人读写你的文件,但是防不住别人删除你的文件。

为了解决这个问题,Linux 引入了粘滞位的概念。

粘滞位

粘滞位(Stickybit),或黏着位,是 Linux 文件系统权限的一个旗标。 最常见的用法是在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者 root 才可以删除或移动该文件。若不为目录设置粘滞位,任何具有目录写和执行权限的用户都可以删除和移动其中的文件。在实际应用中,粘滞位通常用于 /tmp 目录,以防止普通用户删除或移动其它用户的文件。

功能: 给目录加上粘滞位。
语法: chmod +t 目录名

加上粘滞位之后,目录权限的最后一个字符变为 ‘t’ ,目录颜色也发生了改变。

在这里插入图片描述
当一个目录被设置为"粘滞位"(用 chmod +t),则该目录下的文件只能由:

  1. 超级管理员 root 删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

注意:增加粘滞位用 chmod +t 文件名,去掉粘滞位用 chmod -t 文件名

总结

  • 目录的可执行权限是表示你是否可以在目录下执行命令。
  • 若目录没有 -x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目录,即使目录有 -r 权限。
  • 如果目录具有 -x 权限,但是没有 -r 权限,则用户可以执行命令,可以 cd 进入目录。但是没有目录的读权限,所以在目录下,即使可以执行 ls 指令,但是仍热没有权限读取目录下的文档。

http://chatgpt.dhexx.cn/article/4fuDXlew.shtml

相关文章

Linux权限介绍

文章目录 Linux权限介绍1. shell命令及原理2. Linux权限的概念3. Linux权限管理3.1 人(用户)3.2 事物属性(文件类型和访问权限)3.3 文件访问权限的相关设置方法3.3.1 chmod3.3.2 chown3.3.3 chgrp 3.4 file指令3.5 目录权限3.6 默认权限3.7 粘滞位3.7.1.…

Linux的权限命令

上一篇👉重定向输出>和>>&系统管理命令&管道| 总目录👉一文带你轻松加愉快入门Linux 文章目录 1.文件权限2.Linux三种文件类型:3.文件类型标识4.文件权限管理: &a…

【Linux入门】Linux权限及管理

【Linux入门】Linux权限及管理 目录 【Linux入门】Linux权限及管理Linux权限管理文件访问者的分类文件类型和访问权限(事物属性) 文件权限值的表示方法文件访问权限的相关设置方法目录的权限实现共享目录粘滞位目录权限总结 作者:爱写代码的刚…

Linux-权限

文章目录 1. 认识Linux下用户的分类1.1用户切换1. 2 指令暂时提权 2. 什么叫做权限2.1. 文件属性文件的类型文件权限属性角色和具体的人(用户)是什么关系呢?权限 3. 见一见没有权限会有什么现象(见见)4. 权限的修改问题修改文件 拥…

【Linux】linux权限设置

文章目录 一、shell1. shell概念2. 进程 二、用户1. 用户分类2. 用户切换 三、权限1. 临时权限提升2. 权限的属性3. linux中角色类别4. 第一列文件属性 四、修改权限1. 修改文件权限2. 修改文件所属3. 修改文件权限八进制4. 粘滞位 五、linux默认权限设置1. 默认权限2. 权限掩码…

linux权限管理操作(权限设置)

权限设置 语法:#chmod 选项 权限模式 文档 注意事项: 常用事项: -r:递归设置权限(文档类型为文件夹的时候) 权限模式:就是该文档需要设置的权限信息 文档:可以是文件,也…

Linux权限

文章目录 一、Linux下用户的分类二、文件访问者的分类三、权限的分类四、权限的表现形式五、修改权限六、粘滞位七、补充说明 一、Linux下用户的分类 超级用户(root)、普通用户 超级用户可以在Linux系统下做任何事情,不受任何限制 普通用户受…

Linux权限(下)

Linux权限下 file指令目录的权限x权限r权限w权限 文件的默认权限umask码修改umask码 粘滞位背景谁能删除设有粘滞位的目录下的文件?设置粘滞位的注意事项 file指令 在此之前我们先了解一个指令,这个指令可以让我们更详细的了解文件的具体类型&#xff0…

Linux--权限讲解

文章目录 前言一、什么是shell外壳程序?二、为什么有shell外壳程序?三. Linux的用户基本介绍四. 用户间的相互转换及权限的索取五. 什么是权限?六. 权限的具体分类七. 文件权限属性的改变和‘人’的改变八. 为什么要有权限?九. 显…

Linux权限的基本知识

本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 权限是什么? Linux权限的划分 Linux用户的切换命令 Linux文件权限 Linux文件类型 Linux文件权限 Linux角色划分 文件权限的访问…

【Linux】权限管理

目录 一.用户在使用Linux系统时的权限 1.概念 2.用户权限切换(角色切换) 1.普通用户切换root 2.root切换普通用户 二.用户在使用文件或目录时的权限 0.如何区分是文件还是目录? 1.拥有文件或目录权限的三个身份 2.文件或目录的权限 3.如何修改权限 &#…

【Linux】——权限详解

Linux权限的概念 在学习Linux权限之前,我们需要首先了解一下关于用户的知识。在Linux下有两种用户,分别是root用户和普通用户。root用户就好比充钱的VIP一样,可以在Linux下做任何事情,几乎不受限制,我们也称其为超级用…

linux中权限详解,linux 权限详解

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls…

Linux文件权限

Linux文件权限 Linux下一切皆文件 Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。 普通文件是文件。 目录(在win下称为文件夹)是文件。 硬件设备(键盘、硬盘、打印机)是文件。 Linux下有两种用户:超级用户(root&…

Linux权限管理

1.ACL权限 1.1ACL权限简介与开启 所有者、所属组和其他人的权限不够用,专门为用户设定独立的权限 #查看分区ACL权限是否开启 dumpe2fs -h /dev/sda3 如下图:蓝框就表示该分区具有acl权限 #临时开启分区ACL权限 mount -o remount,acl / #重新…

【Linux】一文掌握Linux权限

环境:centos7,腾讯云服务器 Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹 前言 权限 一词相信大家都不陌生,与我们的生活密切相关。小区里的门禁制度、公司里的管理制度、学校里的校规规定、甚至是社交平台上的一些…

Linux权限理解

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

Linux权限全面解析 (欢迎各位Linux选手看过来,读到就是赚到)

目录 1.权限是什么 1.1生活实例理解权限 2.Linux下的权限 2.1Linux下的用户类别与事物属性 2.2介绍用户类别的具体意义 2.3具体实验 2.4文件类型简介 2.4.1 文件类型分类 2.4.2 文件类型依据 3.修改文件rwx权限 4.修改文件的owner,group 5.用户切换方式讲解 6.目录…

【Linux】Linux权限

Linux权限管理 文章目录 Linux权限管理1、Linux下权限的概念(1)用户权限(2)文件权限 2、权限的相关命令(1)用户切换超级->普通普通->超级 (2)用户提权(3&#xff0…

Linux权限详解

目录 1. 什么是权限 2. Linux上的用户 3.Linux权限管理 3.1 文件访问者的分类(人) 3.2 文件类型和访问权限(事物属性) 3.3 文件权限值的表示方法 3.4 文件访问权限的相关设置方法 chmod命令 chown指令 chgrp指令 umask指…