linux下的权限管理

news/2025/2/1 12:50:49/

1.shell概念

当我们在进入正文前先给大家普及一些基础概念。

广义上来讲,linux 发行版 = linux内核 + 外壳程序(这个外壳程序就相当于 windows gui(窗口图形),linux 常用的shell 是 bash)

所以,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

​ 将使用者的命令翻译给核心(kernel)处理。

​ 同时,将核心的处理结果翻译给使用者。

2.linux中权限的概念

linux下有两种用户:

超级用户:可以在linux下做任何事情(名字默认叫root系统自带的)
普通用户:在linux下做有限的事情(该用户需要自行创建)

切换用户的指令:

su 用户名(之后输入root的密码)

还有一种临时提升权限的法子:

sudo 输入你需要的指令(之后输入你现在作为普通用户的密码,root可以干几乎一切,所以用不到sudo)
提醒一句,sudo的使用需要添加信任关系,这个具体怎么操作后面会讲

那么绕了这么多到底什么是权限呢?

从字面意思上来看,权限是的意思是一件事情是否允许被特定的人做。

而我们的文件本身有天然的权限属性:

r 读

w 写

x 执行

3.linux下文件访问者的分类

1.拥有者 owner

  1. 所属组 group (自己能看到文件,同组的能看到,其他人看不到)
  2. 其他 others

其实本质上就相当于用户的一种身份,一种属性

4.文件的类型和访问权限

4.1文件类型

linux 不以文件后缀作为区分文件类型的方式,以标识文件类型为主

分为7类:

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

字符表示法:

在这里插入图片描述

8进制数值表示方法:

在这里插入图片描述

4.3总结图

在这里插入图片描述

5.权限的相关设置方法

5.1chmod的使用

首先chmod所修改的权限是一种永久修改,并且只有文件的拥有者和root才能使用

格式:chmod [参数] 权限 文件名

常用选项:

R -> 递归修改目录文件的权限

用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

具体例子:

# chmod u+w /home/abc.txt
# chmod u+rwx,g+rwx,o+rwx, file.txt
5.2chmod的使用

功能:修改文件的拥有者

格式chown [选项] 用户名 文件名

例子:

# chown user1 f1
# chown -R user1 filegroup1
5.3chgrp的用法

功能:修改文件或目录的所属组

格式chgrp [选项] 用户组名 文件名

6.粘滞位

6.1插入一个有趣的问题

在谈论粘滞位这个主题前,我想问大家一个问题,进入目录需要什么权限?

当然这里先给结论:x可执行权限

其实本质上来说,读权限是为了显示目录中的内容,使其可以用ls等命令查看,写权限是为了在目录下创建新的结点或者进行删除操作,而如果要进入目录的话本质上就是在更改当前用户所在路径,其能进行的前提条件就是该文件是可执行的。

6.2粘滞位的诞生介绍

我们想象一个这样的情况,如果目录本身对others具有w的权限,others用户可以删除掉任何目录下的文件

若现在有这样一个需求:others可以在特点的目录下创建文件并写入,但是不想被其他人删掉自己

所以粘滞位便诞生了。

6.3具体使用

其实就相当于在使用chmod的时候加个t权限上去(实际替换掉的是x权限),因为过于简单这里就不在多叙述了。

提醒:该操作只能对目录使用,一般用于限制other,当然对于一个设置了粘性位的目录来说,在该目录下,只能由文件的拥有者,root,或者所属组拥有w权限的可以删除

6.4使用场景

有时候,系统会有很多临时数据,所有的临时文件放在系统的/tmp里需要把所有的权限都放开,但是只想让文件的拥有者自己删除自己的文件,所以设置粘滞位。

6.5删除的本质

在Linux文件系统中,文件的删除权限取决于其所在目录的权限,而不是文件本身的权限。要删除一个文件,用户需要在该文件所在目录上具有写入和执行权限。这是因为在Linux中,删除一个文件实际上是在其所在目录中删除文件名的条目,而不是直接操作文件本身。

例如,考虑一个名为file.txt的文件,它位于/home/user/documents目录中:

  1. /home/user/documents目录的权限为drwxr-xr-x,文件拥有者是user
  2. file.txt文件的权限为-r--r--r--,文件拥有者也是user

尽管file.txt文件没有写入权限,但是文件拥有者user对于/home/user/documents目录具有写入权限,因此该用户可以删除file.txt文件。要删除该文件,用户可以使用以下命令:

Copy

rm file.txt

7.linux中默认的权限设置

普通文件起始的权限为(666)

目录文件起始的权限为(777)

#权限掩码(umask):在其中出现的,都应在起始权限中去掉

例子:

umask 0002 (看后3位)

起始:110 110 110

​ 000 000 010 最下面一行先进行按位取反操作(~)

变成了如下:110 110 110

​ 111 111 101 两者在进行与操作

变成了:110 110 100

​ 6 6 4 (8进制)

当然在自定义的默认权限可以用umask,当然正常情况下这种修改只在本次登录下有效


http://www.ppmy.cn/news/56592.html

相关文章

雪花算法使用以及优化问题 附代码

/*** 雪花算法生成分布式唯一ID*/ public class Snowflake {private long datacenterId; // 数据中心IDprivate long machineId; // 机器标识IDprivate long sequence; // 序列号private long lastStamp; // 上一次时间戳// 雪花算法参数private final static long datacenter…

《语文教学通讯》栏目 收稿范围

《语文教学通讯》创刊于1978年,是由山西师范大学主管,山西师大教育科技传媒集团主办的期刊。历年被人民大学书报资料中心转载、复印的篇幅数量均居同类报刊之首。国内刊号:CN 14-1017/G4,国际刊号:ISSN 1004-6097&…

Java中的集合框架有哪些类?

Java中的集合框架是一个用于存储和操作对象的集合类库,提供了一系列的接口和类,用于支持不同的集合类型。在Java中,集合框架主要由接口、实现类、算法和数组工具类等四个部分组成。 接口 Java中的集合框架提供了一系列接口,其中…

【笔试强训选择题】Day7.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…

「神州数码DCN」SAVI在IPV6环境下的应用

前言 介绍 ISIS,中间系统到中间系统的网络协议,最初是OSI组织为了他的CLNP(类似于TCP/IP中的IP网络)而设计的动态路由协议,后IETF对其进行修改和填充,现可以在TCP/IP和OSI环境中使用,称为&…

程序员如何学好PHP?做好这五个方面就够了

今天我想和大家分享一下程序员的第一份工作对自己的意义以及影响。首先,我们都知道第一份工作很重要,因为它决定了你以后的职业生涯的方向。你的第一份工作做的什么方向,很可能就是你以后职业生涯中最主要的方向。对我个人而言,我…

Golang每日一练(leetDay0053)

目录 155. 最小栈 Min Stack 🌟🌟 156. 二叉树的上下翻转 Binary Tree Upside Down 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 …

每天一道算法练习题--Day15 第一章 --算法专题 --- -----------二叉树的遍历

概述 二叉树作为一个基础的数据结构,遍历算法作为一个基础的算法,两者结合当然是经典的组合了。很多题目都会有 ta 的身影,有直接问二叉树的遍历的,有间接问的。比如要你找到树中满足条件的节点,就是间接考察树的遍历…