linux权限详解

简介: linux权限详解

1.用户转换

1.将普通用户转换成root

1.su -


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


2. su


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


2.将root转换为普通用户


输入 su +普通用户名

输入普通用户密码


2.文件的权限

1.文件访问者的分类

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


拥有者和other


假设有两个组 ,组A和组B,两个组是相互竞争的关系,一起做一个任务,而c为组A中的成员,c做完任务,c即 文件的拥有者,

而组A的组长想要看c写的东西,就让c把权限打开,这样就造成无论组A和组B的人都能看了,即 other,除了c以外全是other的存在


所属组


组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.拥有者修改


拥有者简称为 u

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


2.所属组的修改


所属组简称为 g

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


3.other的修改


other简称为 o

让file.txt文件具备 读( r )、写(w)、执行(x)


4.整体修改


拥有者失去执行,所属组具备读、写、执行,other失去读、写、执行

之间用,连接


第二种修改方式

在计算机中用0和1代表所对应的权限:1为真,0为假

拥有者、所属组、other分别对应三个数

范围为 000——111


666


666

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

第二个6对应所属组,以二进制表示为: 110 读为真,写为真,执行为假

第三个6对应other, 以二进制表示为: 110 读为真,写为真,执行为假


000


000

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

第二个0对应所属组,以二进制表示为: 000 读为假,写为假,执行为假

第三个0对应other, 以二进制表示为: 000 读为假,写为假,执行为假


777


777

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

第二个7对应所属组,以二进制表示为: 111 读为真,写为真,执行为真

第三个7对应other, 以二进制表示为: 111 读为真,写为真,执行为真


使用权限的修改

1.拥有者用户的修改

修改拥有者使用 chown



想要将file.txt文件的拥有者修改为 root

发现并不可以,因为需要征得root的同意

sudo可以提高权限

使用 sudo chown root file.txt

就把file.txt的拥有者修改为 root


2.所属组用户的修改

修改所属组使用 chgrp



使用 sudo chgrp root file.txt

把file.txt文件的所属组修改为root


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


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


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

1.去掉 r(读)功能

当我们把mydir目录拥有者读的功能去掉后,发现可以进入mydir目录中


2. 去掉 w(写)功能

当我们把mydir目录拥有者写的功能去掉后,发现可以进入mydir目录中


3. 去掉x(执行)功能

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


4. w的功能

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



5. r的功能

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



4. 默认权限


在一个目录下,创建了一个 you 目录 和 888.txt的 文件

目录默认为 rw-rw-r-- 即 664

普通文件默认为rwxrwxr-x 即 775

那默认权限 664和 775是怎么产生的呢?


初始权限&&掩码

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


掩码举例

想在二进制数字 1010 1010 中取到后4个比特位,借助红框中的二进制数字完成

此时红框中的二进制数字就相当于掩码的存在


掩码 ——umask


不管第一个0 , 002作为 八进制存在

一个八进制位的最大数字7 对应 3个二进制位 1 1 1

002 转换为 二进制即 000 000 010


公式推导

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


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


最终权限= 起始权限 & (~unmask)

~是按二进制位取反

普通文件默认权限

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


目录的默认权限

目录的默认权限即 7 7 5


5.粘滞位

1. 粘滞位的使用背景

1.创建public公共目录

来到根目录

使用 sudo提高权限,创建 public 公共目录

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


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

创建属于当前用户的文件 yzq1 yzq2 以及属于root的文件 root1 root2


使用 su 切换成root用户 ,再通过root用户切换成 普通用户lyn

创建 普通用户 lyn1 lyn2

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


当前普通用户为yzq,假设有一天因为矛盾,lyn这个普通用户删除了other的所有权限



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

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


2. 粘滞位的使用

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


通过使用 sudo chmod +t 文件名,将public目录的other权限加了 t,说明该目录设置了粘滞位


普通用户yzq 想要删除普通用户lyn的文件,发现并不可以了


相关文章
|
18天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
28天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
30天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
1月前
|
Shell Linux 程序员
Linux:权限篇 (彻底理清权限逻辑!)
Linux:权限篇 (彻底理清权限逻辑!)
52 1
|
1月前
|
存储 Linux 数据安全/隐私保护
Linux 权限
Linux 权限
|
2天前
|
安全 Linux Shell
【linux基础(四)】对Linux权限的理解
【linux基础(四)】对Linux权限的理解
|
2天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
2 0
|
3天前
|
Linux 数据安全/隐私保护 Windows
Linux的学习之路:4、权限
Linux的学习之路:4、权限
14 0
|
29天前
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
10 0
|
1月前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
31 2