linux权限详解

文章目录

  • 1.用户转换
    • 1.将普通用户转换成root
      • 1.su -
      • 2. su
    • 2.将root转换为普通用户
  • 2.文件的权限
    • 1.文件访问者的分类
      • 拥有者和other
      • 所属组
    • 2.rwx的含义
    • 3.修改权限
      • 第一种修改方式
        • 1.拥有者修改
        • 2.所属组的修改
        • 3.other的修改
        • 4.整体修改
      • 第二种修改方式
        • 666
        • 000
        • 777
      • 使用权限的修改
        • 1.拥有者用户的修改
        • 2.所属组用户的修改
        • 3.同时修改 拥有者和所属组用户
  • 3. 进入一个目录 需要什么权限?
    • 1.去掉 r(读)功能
    • 2. 去掉 w(写)功能
    • 3. 去掉x(执行)功能
    • 4. w的功能
    • 5. r的功能
  • 4. 默认权限
    • 初始权限&&掩码
      • 掩码举例
      • 掩码 ——umask
    • 公式推导
      • 普通文件默认权限
      • 目录的默认权限
  • 5.粘滞位
    • 1. 粘滞位的使用背景
      • 1.创建public公共目录
      • 2.public内部创建多个用户的文件
      • 3. 当前普通用户可以随意删除其他用户文件
    • 2. 粘滞位的使用

1.用户转换

1.将普通用户转换成root

1.su -

linux权限详解_第1张图片

使用 su -时,输入root用户的密码,进入root的工作目录中

2. su

linux权限详解_第2张图片

使用su 命令后,输入 root用户密码, 发现普通用户的工作目录与root的工作目录相同

2.将root转换为普通用户

linux权限详解_第3张图片

输入 su +普通用户名
输入普通用户密码

2.文件的权限

1.文件访问者的分类

主要 分为 文件的拥有者(user) 文件的所属组 (group) 文件的other

拥有者和other

linux权限详解_第4张图片

假设有两个组 ,组A和组B,两个组是相互竞争的关系,一起做一个任务,而c为组A中的成员,c做完任务,c即 文件的拥有者
而组A的组长想要看c写的东西,就让c把权限打开,这样就造成无论组A和组B的人都能看了,即 other,除了c以外全是other的存在

所属组

linux权限详解_第5张图片

组A的组长 想要c把权限给组A的成员,但不想要给组B的人看
这时 组A属于 文件的所属组
组B属于 文件的other

2.rwx的含义

r代表 读 ,w代表写 ,x代表执行

在这里插入图片描述

首字符为d 代表目录
首字符为 - 代表普通文件

以file.txt文件的字符为例(分别对应 r w x ,若不可以则以-代替)
除去 - 以外 正好 3组,每组三个字符,分别对应 拥有者、所属组、other
rw- :文件的拥有者 可以读和写,但不可以执行
rw- : 文件的所属组 可以读和写,但不可以执行
r-- : 文件的other 可以读,但不可以写和执行

3.修改权限

第一种修改方式

1.拥有者修改

linux权限详解_第6张图片

拥有者简称为 u
让file.txt文件的拥有者具备可执行(x)

2.所属组的修改

linux权限详解_第7张图片

所属组简称为 g
让 file.txt文件的所属组 失去读( r )和写(w)

3.other的修改

linux权限详解_第8张图片

other简称为 o
让file.txt文件具备 读( r )、写(w)、执行(x)

4.整体修改

linux权限详解_第9张图片

拥有者失去执行,所属组具备读、写、执行,other失去读、写、执行
之间用,连接

第二种修改方式

在计算机中用0和1代表所对应的权限:1为真,0为假
拥有者、所属组、other分别对应三个数
范围为 000——111

666

linux权限详解_第10张图片

666
第一个6对应拥有者,以二进制表示为: 110 读为真,写为真,执行为假
第二个6对应所属组,以二进制表示为: 110 读为真,写为真,执行为假
第三个6对应other, 以二进制表示为: 110 读为真,写为真,执行为假

000

linux权限详解_第11张图片

000
第一个0对应拥有者,以二进制表示为: 000 读为假,写为假,执行为假
第二个0对应所属组,以二进制表示为: 000 读为假,写为假,执行为假
第三个0对应other, 以二进制表示为: 000 读为假,写为假,执行为假

777

linux权限详解_第12张图片

777
第一个7对应拥有者,以二进制表示为: 111 读为真,写为真,执行为真
第二个7对应所属组,以二进制表示为: 111 读为真,写为真,执行为真
第三个7对应other, 以二进制表示为: 111 读为真,写为真,执行为真

使用权限的修改

1.拥有者用户的修改

修改拥有者使用 chown

linux权限详解_第13张图片

想要将file.txt文件的拥有者修改为 root
发现并不可以,因为需要征得root的同意

linux权限详解_第14张图片

sudo可以提高权限
使用 sudo chown root file.txt
就把file.txt的拥有者修改为 root

2.所属组用户的修改

修改所属组使用 chgrp

linux权限详解_第15张图片

使用 sudo chgrp root file.txt
把file.txt文件的所属组修改为root

3.同时修改 拥有者和所属组用户

linux权限详解_第16张图片

file.txt文件的拥有者和所属组都被修改了

3. 进入一个目录 需要什么权限?

1.去掉 r(读)功能

当我们把mydir目录拥有者读的功能去掉后,发现可以进入mydir目录中
linux权限详解_第17张图片

2. 去掉 w(写)功能

当我们把mydir目录拥有者写的功能去掉后,发现可以进入mydir目录中
linux权限详解_第18张图片

3. 去掉x(执行)功能

直接会报错 ,说明进入一个目录需要x权限

linux权限详解_第19张图片

4. w的功能

若缺少w写的功能,则会使在进入新创建的目录中,无法直接创建新的文件

linux权限详解_第20张图片

5. r的功能

若缺少r读的功能,则会使新创建的目录中,无法直接打开文件名和文件属性

linux权限详解_第21张图片

4. 默认权限

linux权限详解_第22张图片

在一个目录下,创建了一个 you 目录 和 888.txt的 文件
目录默认为 rw-rw-r-- 664
普通文件默认为rwxrwxr-x 775
那默认权限 664和 775是怎么产生的呢?

初始权限&&掩码

普通文件的初始权限为 666(没有x) ,目录的初始权限 为777(rwx)

linux权限详解_第23张图片

掩码举例

linux权限详解_第24张图片
想在二进制数字 1010 1010 中取到后4个比特位,借助红框中的二进制数字完成
此时红框中的二进制数字就相当于掩码的存在

掩码 ——umask

在这里插入图片描述

不管第一个0 , 002作为 八进制存在
一个八进制位的最大数字7 对应 3个二进制位 1 1 1
002 转换为 二进制即 000 000 010

公式推导

权限掩码: 在起始权限中,去掉在umask中出现的权限,不能影响其他出现任何权限

所以我们不使用加减这种方式来计算

最终权限= 起始权限 & (~unmask)
~是按二进制位取反

linux权限详解_第25张图片

普通文件默认权限

linux权限详解_第26张图片

普通文件的默认 权限即 6 6 4

目录的默认权限

linux权限详解_第27张图片

目录的默认权限即 7 7 5

5.粘滞位

1. 粘滞位的使用背景

1.创建public公共目录

来到根目录
使用 sudo提高权限,创建 public 公共目录
linux权限详解_第28张图片
在这里插入图片描述

使用 shudo chmod 777 public 打开全部权限

2.public内部创建多个用户的文件

linux权限详解_第29张图片
创建属于当前用户的文件 yzq1 yzq2 以及属于root的文件 root1 root2

linux权限详解_第30张图片
使用 su 切换成root用户 ,再通过root用户切换成 普通用户lyn
创建 普通用户 lyn1 lyn2

3. 当前普通用户可以随意删除其他用户文件

linux权限详解_第31张图片

当前普通用户为yzq,假设有一天因为矛盾,lyn这个普通用户删除了other的所有权限
linux权限详解_第32张图片

当前普通用户 yzq 可以直接删除属于普通用户 lyn的 lyn1文件

就造成了 文件被所有人共享的时候,受权限约束,但是拦不住别人删我的文件

2. 粘滞位的使用

粘滞位的作用就是为了共享文件,且为了不让其他人不要随便删除别人的文件

linux权限详解_第33张图片
通过使用 sudo chmod +t 文件名将public目录的other权限加了 t,说明该目录设置了粘滞位

linux权限详解_第34张图片
普通用户yzq 想要删除普通用户lyn的文件,发现并不可以了

你可能感兴趣的:(linux,linux,服务器,运维)