欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 欢迎来到linux大陆!本次试炼地点——秩序“权限”圣殿

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

2026/3/11 3:58:04 来源:https://blog.csdn.net/2301_80689220/article/details/145310758  浏览:    关键词:欢迎来到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": 不允许的操作

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词