linux下的权限管理

news2024/11/28 14:47:32

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.coloradmin.cn/o/474391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue基本语法

目录 一、模板语法 (1)文本 (2)原始HTML (3)属性Attribute (4)使用JavaScript表达式 二、条件渲染 (1)v-if,v-else (2&#x…

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员:首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等,前台首页;首页、离…

stm32 CubeMx 实现SD卡/sd nand FATFS读写测试

stm32 CubeMx 实现SD卡/SD nand FATFS读写测试 文章目录 stm32 CubeMx 实现SD卡/SD nand FATFS读写测试1. 前言2. 环境介绍2.1 软硬件说明2.2 外设原理图 3. 工程搭建3.1 CubeMx 配置3.2 SDIO时钟配置说明3.2 读写测试3.2.1 添加读写测试代码 3.3 FATFS文件操作3.3.1 修改读写测…

云计算:数字化转型的利器

随着数字化转型的加速,企业对于信息技术应用的需求越来越大,而云计算作为一种新的基础设施,也逐渐成为了许多企业的首选。那么,云计算究竟有哪些优势?未来发展趋势又是怎样的呢?下面就让我们一起来探讨一下…

深入理解try...catch(字节码层面)

我们工作中常用try...catch来解决程序中出现的异常情况,但是你真的了解它的实现原理吗?今天我就带着大家从字节码层面理解try...catch 一、准备工作 我们首先需要准备好异常类和对应的测试类方便我们观察。 异常类: public class DivideB…

1.软件测试

目录 一、面试重点 1.什么是软件测试? 2.软件测试和软件开发的区别 3.你为什么选择软件测试? 4.什么是需求? 5.软件测试人员如何深入了解需求? 6.什么是内存泄露? 7.什么是测试用例? 8.测试用例有…

【23】linux进阶——linux的软链接和硬链接

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家 另外其它专栏请关注: 锐捷数通实验&…

终于成功了,CCED2000后,中文编程软件再次脱颖而出,系出金山

WPS抗衡微软,CCEDE却被淹没? DOS代,我们用WPS来进行文字编辑,CCED来做表格,两者在那个时代可以称得上是国产办公领域的“必装软件”。 如今,30年过去了,WPS一步一步成长为抗衡微软office的国产…

electron入门 | 手把手带electron项目初始化

Electron是一个基于Chromium和 Node.js,可以使用 HTML、CSS和JavaScript构建跨平台应用的技术框架,兼容 Mac、Windows 和 Linux。 目录 1.了解electron 2.开发环境 3.初始化 采坑插曲: 1.了解electron Electron 可以让你使用纯 JavaScrip…

easyexcel读取excel合并单元格数据

普通的excel列表,easyexcel读取是没有什么问题的。但是,如果有合并单元格,那么它读取的时候,能获取数据,但是数据是不完整的。如下所示的单元格数据: 我们通过简单的异步读取,最后查看数据内容&…

symfonos 2

目录 扫描 SMB SSH 提权 扫描 由于端口80是打开的,我们试图在浏览器中打开IP地址,但在网页上没有找到任何有用的信息。我们还尝试了dirb和其他目录暴力工具,但没有找到任何东西。 SMB 为了进一步枚举,我们使用Enum4Linux工具并找到了一些有用的信息。我们发现了一个名…

Microelectronic学习章节总结(1)-- 计算机架构复习

文章目录 Part1. 处理器架构,以及流水线的实现方法part2 DLX架构part3 ULTRA SPARC T2架构part4 PENTIUM 4架构part5 不同架构之间的性能比较 PPT:2,4,5,6 这一章主要对之前的计算机架构一些知识进行复习,因…

数字中国建设峰会|大模型带来产业智能化新机遇

第六届数字中国建设峰会在福建省福州市举办。峰会期间,百度与福州市政府签署战略协议,将基于文心一言为代表的大模型和百度智能云通用AI能力深入合作。未来,双方将聚焦算力产业,共建百度智能云(福州)智算中…

移动推车定位查找方案

CK_Label_v24 产品型号 CK_Label_v24 尺寸 124x90x12mm(不含安装支架) 屏幕尺寸 4.2 inch 显示技术 电子墨水屏显示 显示区域面积 (mm) 84.8(H) x 63.6(V) 分辨率 400*300 像素密度 120dpi 显示颜色 黑/白 外观颜色 白色&灰外圏…

Mozilla 自身是如何模糊 Firefox 浏览器的?

导语:Mozilla一直在模糊Firefox及其底层组件,它已被证明是识别质量和安全漏洞的最有效方法之一。 Mozilla一直在模糊Firefox及其底层组件,它已被证明是识别质量和安全漏洞的最有效方法之一。通常,研究人员会在不同级别上应用模糊测…

二叉树的遍历及相关衍生

二叉树的遍历及相关衍生 前言二叉树的遍历建树二叉树的遍历遍历的分类代码部分 遍历根的应用打印树中的每个数据代码部分 遍历计算树节点个数代码部分 计算二叉树的深度思路代码部分 第k层个数 结束 前言 如标题所示,在这里我们要研究的是二叉树的遍历。 为什么不…

java获取星期几

如果你要问 java什么时候学习比较好,那么答案肯定是 java的星期几。 在 Java中,你可以使用 public static void main ()方法来获取一个类的所有成员变量,然后在所有类中调用这个方法来获取对象的所有成员变量。它能以对…

MCSM面板一键搭建我的世界服务器-外网远程联机【内网穿透】

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 转载自远程穿透文章&…

【C++】模拟实现map和set

1.关联式容器 关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的 键值对,在数据检索时比序列式容器效率更高。 2 .键值对 用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和val…

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、固定格式 ⭐️ stdio的理解: abbr.标准输入输出&#xff08;standard input/output&#xff09;。 #include <stdio.h>…