【Linux】权限详解

news2024/11/17 7:55:18

权限是什么呢?
通过一定条件,拦住一部分人,给另一部分人权利来访问某种资源

权限的本质:
权限与人有关:比如你要进你的学校是要看你是个人吗,重要的是看的是你是不是学校内学生,即你的角色
当然也和事物的属性有关:比如你能在爱奇艺刷题吗,能在力扣看电影吗?

既然与人和事物的属性有关,那我们就从这两点进行展开。

人对应Linux的用户,
事物对应Linux的文件

目录

  • Linux的用户:
    • root与普通用户的切换:
    • Linux用户在文件中的体现:
  • Linux中的文件:
    • 修改文件权限:
    • 对目录权限的理解:

Linux的用户:

Linux下有两种用户:超级用户(root)、普通用户。

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

root与普通用户的切换:

既然有两种用户,那么也会存在两者之间如何相互切换的问题。
我们可以通过命令进行切换

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

例如

  • 要从root用户切换到普通用户user,则使用 su user。
    在这里插入图片描述

  • 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码
    在这里插入图片描述

那么有没有不变成root却有root权利的办法呢?
答案是确定的。
我们可以通过sudo指令提权进行权限升级,但是需要额外的yum


Linux用户在文件中的体现:

Linux有三种角色,分别为:拥有者 所属组 other
在这里插入图片描述

可以看到我们创建了一个文件,
现在告诉你第一个cyc是这个文件的拥有者
第二个cyc是这个文件的所属组

这里你可能又会困惑,所属组是什么呢?
所属组是为了在多人协作时进行更细腻的管理而衍生出,在特定条件下有优势

那么other呢,除了拥有者与所属组之外的都是other

现在你可能又会有疑问,你刚刚说Linux有两种人,现在又说有三种角色,不是很矛盾吗?
恰恰相反,他们是相互补充的概念,
角色是由人来扮演的,
一个普通用户即有可能是一个文件的拥有者,也有可能是另一个文件的other


Linux中的文件:

在这里插入图片描述
关于这两个文件的对比,在红箭头的地方,表示的是其文件类型,有很多种,我们只需稍微了解一下即可

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

但是我们现在需要知道两种:
第一个是d,为目录文件
第二个是-,为普通文件

剩下的9个字符是什么呢在这里插入图片描述

我们提到过Linux有三种角色,这9个字符三三一组
分别为

拥有者的一组,所属组的一组,其他人的一组

那么每一组的字符又代表什么呢?
在这里插入图片描述
如果为-,即代表没有相对应的权限

修改文件权限:

  1. 需要指令chmod进行操作

文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户:o—Others

用法:在这里插入图片描述

chmod u+-rwx,g+-rwx,o+-rwx filename

图片实例:
在这里插入图片描述


  1. 需要chownchgrp指令

功能:修改文件的拥有者与所属组

用法:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d684b564545e4698a60eba3383e9da49.png

但是我们进行操作时没权限,因为不能强制吧文件给别人,除非你是root,所以在操作时要进行指令提权,即sudo在这里插入图片描述

对目录权限的理解:

我们说Linux中一切皆文件,那么目录也是文件
目录也会有那10个字符(最左边的)
在这里插入图片描述
那么目录所对应的rwx的功能是什么呢?

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

这样也会衍生出一个问题,如果除了拥有者,别人也有w权限,就可以随意删除你目录下的文件了,这显然是有问题的

故我们引出一个粘滞位的概念
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除


关于权限的总结:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1390560.html

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

相关文章

力扣精选算法100题——等于目标值的两个数or三数之和(双指针专题)

目录 🚩等于目标值的俩个数 第一步:了解题意 第二步:算法原理 第三步:代码实现 🚩三数之和 第一步:了解题意 第二步:算法原理 思路: ❗不漏: ❗去重: &#xf…

Midjourney Prompt基本结构

在 Midjourney 的官方介绍文档里,介绍了最简单的 Prompt 结构是这样的: 但我觉得上面那个 Prompt 过于简单了 😂 ,反而 Advanced Prompt 更适合学习: Image Prompts(选填) Prompt 分成三个部分…

Spring Boot框架中Controller层API接口如何支持使用多个@RequestBody注解接受请求体参数

一、前言 众所周知,在Spring Boot框架中,Controller层API接口编码获取请求体参数时,在参数上会使用RequestBody注解;如果一次请求中,请求体参数携带的内容需要用多个参数接收时,能不能多次使用RequestBody…

游戏开发丨基于PyGlet的简易版Minecraft我的世界游戏

文章目录 写在前面我的世界PyGlet简介实验内容游戏按键程序设计引入文件 运行结果写在后面 写在前面 本期内容:基于PyGlet的简易版Minecraft我的世界游戏 实验环境: pycharmpyglet 项目下载地址:https://download.csdn.net/download/m0_6…

【CFP-专栏3】多领域SCI/EI快刊,1个月录用,12天见刊,1个月检索!

一、材料科学类SCI 【期刊概况】IF:3.0-4.0, JCR3区,中科院4区; 【大类学科】材料科学; 【检索情况】SCI在检; 【录用周期】2-3个月左右录用; 【接收领域】低温环境下新型生物降解材料的开发相关研究均可&#xf…

构建未来教育:在线培训系统开发的技术探讨

随着远程学习的崛起和数字化教育的普及,在线培训系统的开发成为了现代教育的核心。本文将深入讨论在线培训系统的关键技术要点,涵盖前后端开发、数据库管理、以及安全性和身份验证等关键方面。 前端开发:提供交互性与用户友好体验 在构建在…

力扣算法之滑动窗口题目--水果成篮

文章目录 题目解析不同之处解决办法解决图示 代码 题目解析 首先我们先看一下题目如下图所示 题目意思也比较容易理解其实就是你有一个篮子这个篮子只能装两个不同种类的水果,问你最多能装多少个水果,这里还贴心的弄了一个样列,121 可以看出…

C盘满了,我用什么思路清理?

20240115 上周六同事传了一个很大的虚拟机给我,C盘就红了 虽然是飞秋选错了存储文件的路径,但后来忘了,就开始毫无目的删除文件,过程中会有没有权限删除的,这样还是没有改善。 咨询了公司IT技术人员, 告…

如何100%防止网站数据被采集?七种方法保证数据安全

当今互联网时代,数据采集是常见的行为,但也常常引起一些法律纠纷或者商业竞争。因此,一些网站或者公司需要采取措施来防止自己的数据被别人采集。以下是一些防止数据采集的措施: 防止代理IP模拟搜索引擎抓爬:使用代理I…

Centos7.9忘记Root密码找回

Centos7.9忘记Root密码找回 1. 背景2. 目的3. 具体操作3.1 重启系统3.2 增加代码3.3 单用户模式3.4 单用户模式3.5 修改密码3.6 创建文件3.7 重启验证 1. 背景 由于物理主机上安装了多个虚拟机,部分虚拟机忘记了root密码,前段时间刚好要用这个虚拟机&…

文件操作一(非常重要)

文件操作一(非常重要) 一、为什么使用文件?二、什么是文件?三、文件名(简单理解)四、二进制文件和文本文件(重要)五、流的概念(非常重要)六、文件的打开和关闭七、文件的顺序读写函数…

【Java 设计模式】创建型之工厂方法模式

文章目录 1. 定义2. 应用场景3. 代码实现4. 应用示例结语 在软件开发中,工厂方法模式是一种常见的创建型设计模式,它提供了一种将对象的实例化延迟到子类的方法。工厂方法模式通过定义一个创建对象的接口,但是让子类决定实例化哪个类。在本文…

【数据结构 | 直接选择排序】

直接选择排序 基本思路直接插入排序SelectSort 基本思路 直接插入排序(StraightInsertionSort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 我们可以同时从数组的头部和尾部同时进行排序工作…

集成xxljob项目如何迁移到K8S

前言 大家好,今天我们将基于XXL-Job,探讨任务调度迁移到云端的相关话题。 XXL-Job是一款功能强大、易用可靠的国产分布式任务调度平台,是目前国内使用比较广泛的分布式任务调度平台之一。它的主要特点包括: 支持分布式、多线程…

29 旋转工具箱

效果演示 实现了一个菜单按钮的动画效果,当鼠标悬停在菜单按钮上时,菜单按钮会旋转315度,菜单按钮旋转的同时,菜单按钮旋转的8个小圆圈也会依次旋转360度,并且每个小圆圈的旋转方向和菜单按钮的旋转方向相反&#xff0…

查看服务器的yum 源

1、cd /etc/yum.repos.d 2、编辑 CentOS-Stream-Sources.repo 3、 查看里面的yum源地址 4、更新yum源,执行下面指令 yum clean all # 清除系统所有的yum缓存 yum makeacache # 生成新的yum缓存 yum repolist

Spring Boot - Application Events 同步 VS 异步 发布订阅事件实战

文章目录 PreCode基础工程启动类切入口事件 发布事件同步 Listener异步Listener增加EnableAsync增加 Async 测试 Pre Spring Boot - Application Events 的发布顺序_ApplicationStartingEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEv…

低代码自动化测试的实践

何为低代码测试 传统上,功能、 UI、端到端等测试自动化的实现都涉及编写测试脚本,代替测试人员执行重复的手动测试任务。自动化脚本的开发工作通常由 QA 工程师或开发人员完成,这需要编写大量代码。 而低代码甚至无代码的理念也是在自动化测…

SpringBoot+SSM项目实战 苍穹外卖(12) Apache POI

继续上一节的内容,本节是苍穹外卖后端开发的最后一节,本节学习Apache POI,完成工作台、数据导出功能。 目录 工作台Apache POI入门案例 导出运营数据Excel报表 工作台 工作台是系统运营的数据看板,并提供快捷操作入口&#xff0c…

SQLServer 为角色开视图SELECT权限,报错提示需要开基础表权限

问题: 创建了个视图V,里面包含V库的a表,和T库的b表 为角色开启视图V的SELECT权限,提示T库的b表无SELECT权限,报错如下 解决方案: ①在T库建个视图TV,里面包含b表(注意是在b表的对…