【Linux基础】对Linux权限的理解与管理

目录

🚀前言

前面两篇文章已经对Linux的基础指令进行了详细介绍,相信大家已经慢慢上手了对Linux的操作。这篇文章将要介绍Linux系统中有关权限的问题,包括文件的权限与目录的权限,以及对这些权限的管理

一,有关用户

(1) Linux下有两种用户:超级用户(root),普通用户

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

(2) 两种用户的切换

命令:su [用户名]
功能:切换用户

例如,要从root用户切换到普通用户user,则使用 su user要从普通用户user切换到root用户则使用 su root(root可以省略)/ su - ,此时系统会提示输入root用户的口令

(3) 对普通用户进行提权

sudo [指令]

二,Linux权限管理

1. 文件访问者的分类(人)

文件和文件目录的所有者:u---user
文件和文件目录的所有者所在的组:g--group
其它用户:o---others

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

2.1 文件类型

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

2.2 文件/目录的基本权限

(1) 读(r/4) :read对文件而言,具有读取文件内容的权限对目录来说,具有浏览该目录信息的权限

(2) 写(w/2) :write对文件而言,具有修改文件内容的权限对目录来说具有删除移动目录内文件的权限

(3) 执行(x/1) :execute对文件而言,具有执行文件的权限对目录来说,具有进入目录的权限

(4) "-":表示不具有该项权限

三,文件权限值的表示方法

3.1 字符表示方法

3.2 八进制数值表示方法

四,文件访问权限的相关设置方法

通过上面的介绍,可以知道权限 = 角色 + 文件权限属性。所以我们想要更改权限,既可以更改文件的属性(r/w/x),也可以更改角色身份(u/g/o)

1. chmod 指令

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

① 用户表示符+/-=权限字符的方式:

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

如图
对拥有者的权限进行更改

对所属组的权限进行更改

②三位8进制数字的方式:

2. chown指令

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

如图

但是还需要注意下面一点:

下面是我以cc普通用户进行的操作

3. chgrp指令

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

如图

有一种情况不用chgrp指令也可以更改所属组:

4. umask指令

功能:查看或修改权限掩码

我们知道,目录的起始权限的777,文件的起始权限是666,但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响

目录/文件的最终权限 = 起始权限 & (~权限掩码)

比如我新建一个目录默认权限是775,文件的默认权限是664


可以修改权限掩码

5. 其他问题

问题1

问题2

问题3

五,目录的权限

1. 可读权限:如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

2. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件和重命名文件

3. 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中

六,粘滞位

换句话来讲,假设一个目录放在除这两个目录的家目录下,有两个普通用户要共享这个目录,就是只要这两个用户具有一个目录的写权限,用户就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限

这好像不太科学啊, 我张三创建的一个文件,凭什么被你李四可以删掉?

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

粘滞位的意义:对于一下共享目录/文件,我们既想让其他人对这个文件进行读/写等操作,但是只能让其他人删除他自己的文件,不能删除这个共享文件,即使他们对这个目录/文件有写权限,也不能删

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

相关推荐
xuanzdhc1 小时前
Linux 基础IO
linux·运维·服务器
愚润求学1 小时前
【Linux】网络基础
linux·运维·网络
bantinghy2 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志3 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手3 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
AWS官方合作商9 天前
AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
服务器·https·ssl·aws
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器