【Linux】第二章:Linux权限概念及其相关指令

本文介绍了Linux系统中的权限概念,包括用户分类、文件权限管理方法及如何使用chmod、chown等命令进行权限设置。还讲解了权限的字符表示法与八进制数值表示法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言引入

当我们在命令行输入ls - l这样的指令的时候,系统会出现这样的信息
在这里插入图片描述
而这些信息中就包含这这个文件权限概念,这些权限有什么用处呢?以及权限的是否可以设置,怎么设置?如果想要了解一下Linux的权限就继续往下探索吧。


一、Linux权限的概念

在Linux系统有着严谨的规则,什么人对什么文件做了什么事情都是有记录的。在这样一个共享的平台上,对于保护自己的目的就出现了权限的概念。

Ⅰ.用户

在Linux上人与人之间称之为用户之间。而用户有两种:超级用户(root),普通用户。
超级用户: 可以在Linux系统下做任何事情,不收限制。命令提示符为"#"。
普通用户: 在Linux是受限制的,命令提示符为"$"。

所以可以看出权限的概念只是针对普通用户来说的,root可以“无法无天”。

那普通用户能不能有朝一日可以成为root,或者短暂的提升自己的地位和root有一样的权限呢?

普通用户切换为root
指令: su -
注意:记得要输入root的登录密码
在这里插入图片描述
root切换为普通用户
指令: su - [用户名]
注意:这里不用输入密码了
在这里插入图片描述
普通用户短暂的提升自己的权限,可以使用sudo命令,但是普通用户可以使用sudo指令必须要通过root将普通用户放在信任列表中才可以使用

首先su -切换为root用户,然后vim /etc/sudoers,翻到最下面的这个位置
在这里插入图片描述
在下面的列表中添加普通用户的账号即可。


二、Linux权限的管理

简介:
Linux下一切皆文件,所以权限就是对普通用户的操作文件进行限制。

  • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
  • Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置- 不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
  • Linux上通常使用chmod命令对文件的权限进行设置和更改。

前言中的图:
在这里插入图片描述
在这里插入图片描述

Ⅰ、文件的权限

Ⅰ.1.文件访问者的分类

  • 文件和文件目录的所有者:u - User(拥有者)
  • 文件和文件目录的所有者所在的组的用户:g - Group(群组)
  • 其他用户:o - Other(其他人)

对应着前言中的图片:
在这里插入图片描述
黄色方框(第一个zhy):u - 拥有者
绿色方框(第二个zhy):g - 所属群组
除了拥有者和所属的群组中的人,其他的人都是other。

Ⅰ.2.文件类型和访问的权限

在这里插入图片描述
文件类型和文件的访问权限体现在前10个字符中。

文件类型:
第一个字符表示:文件的类型,说明在Linux中一个文件的类型不是像在windows中是由文件的后缀决定的,而是由这里第一个字符决定的。
常见的文件类型的汇总:

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

文件的权限分类:

1)读(r/4):r对普通文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录的权限。

2)写(w/2):w对普通文件而言,具有修改文件内容的权限;对于目录而言,具有在目录下删除移动和创建文件的权限。

3)可执行(x/1):x对普通文件而言,具有执行文件内容的权限;对于目录而言,具有进入该目录的权限。

4)"-"表示不具有对应位置上的权限。(对应位置的意思:rwx都是有固定位置的,在每3个字符的组中第一个字符一定表示是否具有r权限,第二个字符一定表示是否具有w权限,第三个字符一定表示是否具有x权限)

总结:
在这里插入图片描述

Ⅰ.3.文件权限值的表示方法

文件权限值的表示方法有两个:1.字符表示法 2.8进制数值表示法

Ⅰ.3.1.字符表示

Linux字符表示说明Linux字符表示说明
- - -无权限r - -只读
- w -只写- - x可执行
r w -可读可写r - x可读可执行
- w x可写可执行r w x可读可写可执行

Ⅰ.3.2.八进制表示表示

将每3个字符分成有一组,正好可以用三个比特位来表示权限状态。

权限符号八进制二进制
- - -00
r - -1100
- w -2010
- - x3001
r w -4110
r - x5101
- w x6011
r w x7111

Ⅰ.4. 设置文件访问权限的指令

Ⅰ.4. 1 chmod指令

指令介绍: 设置文件的访问权限

语法: chmod 权限 文件

注意: 只有文件的所有者和root才可以改变文件的权限。

chmod +r 或者 chmod a + r :都表示提升所有的人的读权限

在这里插入图片描述

因为权限值有两种表示方法,所以设置权限值就也有两种设置方法。

第一种设置法:字符设置

单人权限的提升

chmod u+rwx test.cpp:给拥有者提升可读可写可执行权限

在这里插入图片描述

多人权限的提升

chmod u-x,g-w,o-r test.cpp:给拥有者去掉可执行权限,群组去掉可写权限,其他人去掉可读权限 

在这里插入图片描述

第二种设置法:八进制数字表示

权限符号八进制二进制
- - -00
r - -1100
- w -2010
- - x3001
r w -4110
r - x5101
- w x6011
r w x7111
chmod 664 test.cpp:u具有可读可写,g具有可读可写,o具有可读可执行

在这里插入图片描述

Ⅰ.4. 2 chown指令

指令介绍: 修改文件的拥有者

语法: chown 用户名 文件名

注意: 如果需要修改为root用户名,需要短暂的提升自己的权限,使用sudo指令。

sudo chown root test.cpp:将文件拥有者改为root

在这里插入图片描述

Ⅰ.4. 3 chgrp指令

指令介绍: 修改文件或者目录的所属组

语法: chgrp 群组名 文件名

注意: 如果需要修改为root用户名,需要短暂的提升自己的权限,使用sudo指令。

sudo chgrp root test.cpp:将文件所属组改为root

在这里插入图片描述

Ⅰ.4. 4 umask指令

知识铺垫: 当一个文件或者目录被创建的时候,有默认权限。文件的默认权限是0666(-rw-rw-rw-),目录的默认权限是0777(drwxrwxrwx)。
在这里插入图片描述
但是实际上的权限却好像在o的权限中少了一个w权限。这就是因为有umask的存在。

指令介绍: 查看或修改文件掩码

语法: umask 或者 umask 权限值

注意: 将现有的存取权限去掉权限掩码中的权限值后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

umask :查看当前的权限掩码

在这里插入图片描述
解释普通文件最终权限是(-rw-rw-r–,即664)
在这里插入图片描述

总结: 最终权限 = 文件的默认权限 & (~umask)

umask 004:设置权限掩码值为004

在这里插入图片描述

Ⅰ.4. 5 补充:file指令

指令介绍: 辨识文件类型。

语法: file 文件或者或者其他类型的文件

file dir:查看dir的文件类型

在这里插入图片描述

常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -z 尝试去解读压缩文件的内容。

Ⅱ、目录的权限

普通文件的权限rwx代表读,写,执行。那目录的rwx代表这什么呢?

  • r : 可以浏览该目录的详细信息
  • w : 可以在该目录下创建、删除、移动文件
  • x : 可以进入该目录

目录的权限修改同文件的权限修改。


四、粘滞位

在Linux中虽然读、写、执行都有权限,但是删除似乎权限的限制就不那么明显了。

一种制止方法是:将保护的文件放在一个其他人不可以进入(没有x权限)的目录中,如此就不可以删除目录中的文件了。

另一种方法就是:粘滞位。
语法: chmod +t
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hyzhang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值