当前位置: 首页 > news >正文

Linux权限管理(用户和权限之间的关系)

Linux系列


文章目录

  • Linux系列
  • 一、Linux下用户类型
  • 二、普通权限的基本概念
    • 2.1、Linux中权限的类别
    • 2.2、Linux中权限对应的三种身份
    • 2.3、文件权限的标识
  • 三、文件权限设置
  • 四、修改文件属主和属组
    • 4.1、chown修改文件的属主
    • 4.2、修改所属组
  • 五、文件掩码
  • 六、目录权限


一、Linux下用户类型

Linux下分为两种用户:
1、超级用户:超级用户就是我们配置好环境后默认的用户类型,它也叫root用户(对标Windows下的管理员)
2、普通用户:普通用户则是我们在超级用户下自己创建的,为了平时学习和工作方便,我们可能需要多个用户身份相互配合共同完成某个项目。

然而制定规则的,往往不会被规则所约束,这里的超级用户就是如此,下面的讲解我们会多次提到。

我们需要新学一个指令:whoami查看当前用户
超级用户:
在这里插入图片描述
普通用户:
在这里插入图片描述
至于如何在超级用户下创建新的用户(普通用户)以及如何进行用户间身份的切换我们已经在上篇博客中介绍过了,不会的可以去看一下。

二、普通权限的基本概念

2.1、Linux中权限的类别

权限针对文件权限针对目录
r(读)表示是否可以查看文件内容表示是否可以(ls)查看目录中存在的文件名称
w(写)表示是否可以更改文件的内容表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)
x(执行)表示是否可以开启文件当中记录的程序,一般指二进制文件表示是否可以进入目录中(cd)

2.2、Linux中权限对应的三种身份

1、文件所有者(User):文件的创建者或拥有者。
2、用户组(Group):与文件所有者同属一个组的用户。
3、其他用户(Others):不属于文件所有者和用户组的所有其他用户。

注:以上三种身份均都是相对于具体文件来说的,并不是绝对的。例如:root用户相对于A文件来说它是A文件的拥有着,相对于B文件来说它是其他用户。

2.3、文件权限的标识

我们可以使用ll指令来查看文件权限信息。

在这里插入图片描述
在指令篇我们介绍了,下面两行信息的首字母代表了文件类型,接下来我们看剩余部分表示什么:

在这里插入图片描述
注:文件所以者及所属组下面我们会对他们进行详细分析,这里先认识即可。
接下来我们从代表权限的字符为开始,进行归纳:

上图权限分为三个一组,对应不同的身份。每组的三个字符对应着该处的三个权限:读、写、执行

1、r w x:文件所有者权限
2、r - x:文件所属组用户权限
3、r - x:其他用户权限
在上面我们有讲过 r w x分别代表的含意,而这里‘ - ’的意思就是不具备该权限。

每个字符对应的权限位都由两种状态---------具备/不具备,所以我们一般使用二进制来表示该权限位的状态:1表示具有该权限位对应的权限,0表示不具有该权限位对应的权限。将他们三个为一组进行划分则对应了一个八进制数。
Linux字符表示:

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

八进制表示:

权限符号(读、写、执行)八进制二进制
r - -4100
- w -2010
- - x1001
r w -6110
r - x5101
- w x3001
r w x7111
- - -0000

三、文件权限设置

指令:chmod
语法:# chmod [选项] 权限模式 目标文件

功能:增加或者减少目标文件所有者的权限
常用选项:-R:递归设置权限 (当文件类型为文件夹的时)
权限模式:就是该文档需要设置的权限信息

注意点:如果想要给文件设置权限,操作者要么是root 用户,要么就是文件的所有者

chmod命令权限值的设置格式有两种:

1、 利用用户表示符和+/-=进行权限设置

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

使用:
当前所在root用户下liang文件初始权限信息如下图所示,接下来我们使用指令对它的权限进行修改。
在这里插入图片描述
命令:chmod u+x liang 我们给拥有者对应的权限位增加一个可执行权限,如下:
在这里插入图片描述
命令:chmod o-r liang 我们删除相对于文件来说的其他人的读权限,如下:

在这里插入图片描述

这里只是演示一下指令的使用,其他的大家可以自己尝试。

2、利用三位8进制数字进行权限设置

结合上面我们讲的权限与八进制之间的对应关系,这里我们挑几个直接能看出来的,给大家演示。

操作前:
在这里插入图片描述
chmod 000 liang 0代表无权限,这里就是将三种身份对应的权限全部删除,如下:

在这里插入图片描述
chmod 664 liang 将拥有者和所属组权限位设置为 r w - ,其他人权限位设置为 r - - ,如下:
在这里插入图片描述

四、修改文件属主和属组

这里先简单叙述一下:首先我们要知道,为什么对一个文件来说会存在三种身份的用户。比如说腾讯吧,他所实行的就是赛马机制,让多个小组同时做一款软件,说白了就是内卷。这时后我们就需要防止其他小组查看我们的代码,但又不能拒绝本组内的成员查看,然而文件拥有者又只能存在一个,所以这时我们就需要将小组成员都归为一个组,给这个小组的成员分配,他们需要的权限,而对于不属于这个小组的当然就归为其他人了。

4.1、chown修改文件的属主

作为实习生的你离职了,这时需要将你维护的文件资源交给别人。

基本语法:# chown [-R] 文件新的拥有者名称 文件(可配合路径操作)
作用:更改文件的所属用户
选项:-R 代表递归修改文件的属主

接下来的演示为了方便给大家展示,我们利用的是普通文件进行操作的,所以未使用到-R选项,

当前文件拥有者
在这里插入图片描述
chown ltn liang 将liang文件的拥有者修改为用户ltn:
在这里插入图片描述

4.2、修改所属组

基本语法:# chgrp [-R] 新文件组名称 文件
功能:更改文件的所属用户组
选项:-R 代表递归修改文件所属组

当前文件所属组:
在这里插入图片描述
chgrp ltn liang 将文件liang的所属组修改为ltn:
在这里插入图片描述

五、文件掩码

在讲解掩码之前我们首先要学会查看,权限掩码。

umask指令 功能:查看或修改文件掩码
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
在这里插入图片描述
这里第一个0大家可以把他理解为代表八进制的意思,余下三位分别对应着三种身份的权限。

我们们接着看,当我们新建文件时,初始的权限设置.
普通文件和目录文件:
在这里插入图片描述
将他们都转化为八进制表示:
目录文件dir:755
普通文件test.txt:644
而默认规定的:
新建文件夹默认权限=0666
新建目录默认权限=0777
这和我们看到的并不一致,这是因为,你所创建的文件和目录,还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask 。
修改权限掩码:

在这里插入图片描述

在这里我们也可以修改权限掩码,大家可以通过多次修改掩码,计算权限位来验证这块说法。

六、目录权限

目录文件的三种权限的结果如下:

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看该目录下的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中。

这时就造成了一个问题,当两个用户在同一路径下工作时,虽然我无法查看你的文件内容,但是我只要拥有这个共享目录的写权限,我就可以将你的文件删除。为了解决这个问题,我们引入了粘滞位的概念。
粘滞位

当设置在目录上的粘滞位时,就意味着只有文件的所有者可以删除或重命名该目录中的文件。标志位用 t 显示在其他用户权限的位置

在这里插入图片描述
注意事项:

1、目录的可执行权限是表示你可否在目录下执行命令。
2、如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
3、而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

相关文章:

Linux权限管理(用户和权限之间的关系)

Linux系列 文章目录 Linux系列一、Linux下用户类型二、普通权限的基本概念2.1、Linux中权限的类别2.2、Linux中权限对应的三种身份2.3、文件权限的标识 三、文件权限设置四、修改文件属主和属组4.1、chown修改文件的属主4.2、修改所属组 五、文件掩码六、目录权限 一、Linux下用…...

Python Selenium库入门使用,图文详细。附网页爬虫、web自动化操作等实战操作。

文章目录 前言1 创建conda环境安装Selenium库2 浏览器驱动下载(以Chrome和Edge为例)3 基础使用(以Chrome为例演示)3.1 与浏览器相关的操作3.1.1 打开/关闭浏览器3.1.2 访问指定域名的网页3.1.3 控制浏览器的窗口大小3.1.4 前进/后…...

【Uniapp-Vue3】使用defineExpose暴露子组件的属性及方法

如果我们想要让父组件访问到子组件中的变量和方法,就需要使用defineExpose暴露: defineExpose({ 变量 }) 子组件配置 父组件配置 父组件要通过onMounted获取到子组件的DOM 传递多个属性和方法 子组件 父组件...

【多模态LLM】英伟达NVLM多模态大模型训练细节和数据集

前期笔者介绍了OCR-free的多模态大模型,可以参考:【多模态&文档智能】OCR-free感知多模态大模型技术链路及训练数据细节,其更偏向于训练模型对于密集文本的感知能力。本文看一看英伟达出品的多模态大模型NVLM-1.0系列,虽然暂未…...

HTTP详解——HTTP基础

HTTP 基本概念 HTTP 是超文本传输协议 (HyperText Transfer Protocol) 超文本传输协议(HyperText Transfer Protocol) HTTP 是一个在计算机世界里专门在 两点 之间 传输 文字、图片、音视频等 超文本 数据的 约定和规范 1. 协议 约定和规范 2. 传输 两点之间传输&#xf…...

MySQL教程之:输入查询

如上一节所述,确保您已连接到服务器。这样做本身不会选择任何要使用的数据库,但没关系。在这一点上,了解一下如何发出查询比直接创建表、加载数据和从中检索数据更重要。本节介绍输入查询的基本原则,使用几个查询,您可…...

docker+ffmpeg+nginx+rtmp 拉取摄像机视频

1、构造程序容器镜像 app.py import subprocess import json import time import multiprocessing import socketdef check_rtmp_server(host, port, timeout5):try:with socket.create_connection((host, port), timeout):print(f"RTMP server at {host}:{port} is avai…...

不同音频振幅dBFS计算方法

1. 振幅的基本概念 振幅是描述音频信号强度的一个重要参数。它通常表示为信号的幅度值,幅度越大,声音听起来就越响。为了更好地理解和处理音频信号,通常会将振幅转换为分贝(dB)单位。分贝是一个对数单位,能…...

【17. 电话号码的字母组合 中等】

题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23”…...

数据结构初阶---排序

一、排序相关概念与运用 1.排序相关概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的…...

【从0-1实现一个前端脚手架】

目录 介绍为什么需要脚手架?一个脚手架应该具备哪些功能? 脚手架实现初始化项目相关依赖实现脚手架 发布 介绍 为什么需要脚手架? 脚手架本质就是一个工具,作用是能够让使用者专注于写代码,它可以让我们只用一个命令…...

AI文章管理系统(自动生成图文分发到分站)

最近帮一个网上的朋友做了一套AI文章生成系统。他的需求是这样: 1、做一个服务端转接百度文心一言的生成文章的API接口。 2、服务端能注册用户,用户在服务端注册充值后可以获取一个令牌,这个令牌填写到客户端,客户端就可以根据客…...

【Leetcode 每日一题】3270. 求出数字答案

问题背景 给你三个 正 整数 n u m 1 num_1 num1​, n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​。 数字 n u m 1 num_1 num1​, n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​ 的数字答案 k e y key key 是一个四位数,定义如下&…...

基于单片机的无线气象仪系统设计(论文+源码)

1系统方案设计 如图2.1所示为无线气象仪系统设计框架。系统设计采用STM32单片机作为主控制器,结合DHT11温湿度传感器、光敏传感器、BMP180气压传感器、PR-3000-FS-N01风速传感器实现气象环境的温度、湿度、光照、气压、风速等环境数据的检测,并通过OLED1…...

【数据库】Mysql精简回顾复习

一、概念 数据库(DB):数据存储的仓库数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操作关系型数据库的编程语言,是一套标准关系型数据库(RDBMS)&…...

深入理解 HTTP 的 GET、POST 方法与 Request 和 Response

HTTP 协议是构建 Web 应用的基石,GET 和 POST 是其中最常用的请求方法。无论是前端开发、后端开发,还是接口测试,对它们的深入理解都显得尤为重要。在本文中,我们将介绍 GET 和 POST 方法,以及 Request 和 Response 的…...

MySQL 中联合索引相比单索引性能提升在哪?

首先我们要清楚所以也是要占用磁盘空间的,随着表中数据量越来越多,索引的空间也是随之提升的,因而单表不建议定义过多的索引,所以使用联合索引可以在一定程度上可以减少索引的空间占用其次,使用联合索引的情况下&#…...

第34天:安全开发-JavaEE应用反射机制攻击链类对象成员变量方法构造方法

时间轴: Java反射相关类图解: 反射: 1、什么是 Java 反射 参考: https://xz.aliyun.com/t/9117 Java 提供了一套反射 API ,该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Me…...

C++笔记之数据单位与C语言变量类型和范围

C++笔记之数据单位与C语言变量类型和范围 code review! 文章目录 C++笔记之数据单位与C语言变量类型和范围一、数据单位1. 数据单位表:按单位的递增顺序排列2. 关于换算关系的说明3. 一般用法及注意事项4. 扩展内容5. 理解和使用建议二、C 语言变量类型和范围基本数据类型标准…...

算法-拆分数位后四位数字的最小和

力扣题目2160. 拆分数位后四位数字的最小和 - 力扣(LeetCode) 给你一个四位 正 整数 num 。请你使用 num 中的 数位 ,将 num 拆成两个新的整数 new1 和 new2 。new1 和 new2 中可以有 前导 0 ,且 num 中 所有 数位都必须使用。 …...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...