Linux权限的基本理解

news2025/4/23 23:23:19

一:🚩Linux中的用户

1.1🥦用户的分类

🌟在Linux中用户可以被分为两种用户:

  • 超级用户(root):可以在Linux系统中做各种事情而不被约束
  • 普通用户:只能做有限的事情被权限约束

在实际操作时超级用户的命令提示符为'#',普通用户的命令提示符为'$',可以根据命令提示符来区分当前的用户

1.2:🥦用户的切换

如何在Linux系统中切换用户?

        1.普通用户切换root用户

       方法一:  命令: su

        方法二: 命令: su -

[注意]:

两个命令的作用都是将用户变为root用户,但是su是直接把用户变为root,当前路径不会发生改变,而su - 有一条login加载的信息,相当于输入密码重新登陆,会把当前路径修改为/root

        2.root用户变为普通用户

        直接 su+用户名即可,不需要输入密码

二:🚩什么是权限

        权限就是通过一部分条件,可以拦截住一部分人,给另一部分人权力访问资源,并且权限不仅和人有关,还和事务的属性有关,比如我们不能在视频软件上打游戏,所以权限和人与事务的属性有关.

2.1 🥦文件类型及其权限管理

⛲文件类型:

在windows系统中,区分文件类型依靠的是文件的后缀名

在Linux系统中,文件不以后缀名区分,当我们用 ll指令查看文件详细信息时,第一个字符就代表文件的类型

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

⛲文件权限:

在Linux系统中,访问文件存在三种角色:

  • 拥有者
  • 所属组
  • 其他

在文件属性最前面一共有十个字符,第一个为文件的类型,而后九个三三为一组,分别对应文件拥有者、所属组、其他人的权限

第一个字符:是否具有读权限,如果是就是r,否就为-

第二个字符:是否具有写权限,如果是就是w,否就为-

第三个字符:是否具有可执行权限,如果是就是x,否就为-

了解了上述信息就可以对文件的权限进行管理了


💬如何修改文件的权限?

目前test.txt文件的权限如图所示

方法一: 给角色加减权限(直接)

chmod指令
功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
常用选项: r - 递归修改目录文件的权限

ps.文件的权限只能由拥有者和root修改

例如: 去掉拥有者的读取权限

例如:去掉拥有者的写权限和所属组的读权限


补充:如果要同时去掉或者增加三个角色的某一权限或多个权限可以使用 a(代表all指所有角色)

除了上述方法还可以使用三位八进制数字的方法:

三个字符表示一个角色的权限,我们将有权限表示为1,无权限表示为0,例如rw-就为110用八进制表示为6, rwx就为111用八进制表示就为7

例如:取消所有角色的所有权限

例如:增加拥有者和所属组的读取权限,增加其他人的读权限

方法二:改变角色(间接)

chown指令
功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名
chgrp指令
功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -r  递归修改文件或目录的所属组

[注意]:只有root用户才能修改文件的拥有者和所属组

如图所示,当前test.txt文件的拥有者和所属组都为zyq

例如: 原来zyq有读和写这个文件的权限,将文件的拥有者和所属组都改为root,此时zyq在这个文件就相当于other,只有r权限了,间接修改了用户的权限

也可以同时修改文件的拥有者和所属组(用冒号相隔)

2.2 🥦目录权限

⛲目录权限理解

可读权限(r): 用户是否可以查看目录的内容

可写权限(w):用户是否有在指定目录下有创建、修改、删除文件的权限

可执行权限(x):若无可执行权限,用户无法进入目录

我们操作的用户为dir目录的拥有者

当去掉拥有者对目录的读权限时,我们不能看目录的内容,但是可以进入到目录内

当去掉拥有者对目录的写权限,可以进入到目录内但是不能在目录里新建文件

当去掉拥有者对目录的可执行权限,我们都进不去这个目录

⛲umask

当创建目录和文件时,他们好像有自己默认的权限

其实,新建文件夹默认权限 =0666 ,新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。
umask是Linux中默认的权限掩码,凡是在umask中出现的权限,在文件中都要被过滤掉。
证明:
我们先查看当前环境下的umask值为多少
新建目录默认权限为0777,即111 111 111
umask为002,即000 000 010
先将umask按位取反:111 111 101
再按位与111 111 111
得 111 111 101 即  rwxrwxr-x  与上述结果相同

⛲目录中文件的删除问题

当我们以普通用户在一个指定目录下创建一个普通文件,root用户不是拥有者和所属组此时相当于other的角色,他此时没有写的权限,但是他却可以删掉普通用户创建的文件,这不难理解,因为root是超级用户

反过来,我们用root用户在指定目录下创建一个文件,普通用户不是拥有者和所属组此时相当于other的角色,没有写的权限,但是普通用户也能删掉root用户创建的文件,这是为什么呢?

在目录下一个用户删除目标文件,和目标文件没有关系,只要该用户对该目录有w权限就可以删除该目录下的任何文件

普通用户此时相当于other但是其对此目录有写的权限,所以可以删除目录里的文件,与目录里的文件无关

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

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

相关文章

数模混合SoC芯片中LEF2Milkyway的golden flow

在数模混合芯片中的项目中,特别是数字模块很少甚至只有一个简单的数字控制逻辑时,我们要做数字模块的后端实现时,通常模拟那边会问我们实现需要他们提供哪些数据。 通常来说,我们可以让模拟设计提供数字模块的GDS或LEF文件即可。…

nodejs+vue+微信小程序+python+PHP特困救助供养信息管理系统-计算机毕业设计推荐

通过走访某特困救助供养机构实际情况,整理特困救助供养机构管理的业务流程,分析当前特困救助供养机构管理存在的各种问题,利用软件开发思想对特困救助供养机构特困救助供养机构管理进行系统设计分析。通过服务端程序框架进行设计,…

网际协议IPv4

基本介绍 网际协议IP是TCP/IP体系中两个重要的协议之一。IPv4虽有最终被IPv6取代的趋势,但它仍是当前使用的最重要的因特网协议。 与IP配套使用的还有3个协议: 地址解析协议ARP(Address Resolution Protocol)因特网控制报文协议ICMP(Internet Control …

Docker 入门 ------容器互通以及Dockerfile

1. 端口映射以及容器互联 Docker 除了通过网络访问,还提供了两种很方便的功能来满足服务访问的基本需求: 允许映射容器内应用的服务端口到本地宿主主机互联机制实现多个容器间通过容器名来快速访问 1.1 容器映射实现访问容器 1.1.1 从外部访问容器应…

中间人攻击是什么,会产生哪些危害,如何有效防止中间人攻击

简介 中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种网络攻击,其原理是攻击者通过各种技术手段将受攻击者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机称为“中间人”。在攻击过…

【滑动窗口】C++算法:可见点的最大数目

作者推荐 动态规划 多源路径 字典树 LeetCode2977:转换字符串的最小成本 本题涉及知识点 滑动窗口 LeetCode 1610可见点的最大数目 给你一个点数组 points 和一个表示角度的整数 angle ,你的位置是 location ,其中 location [posx, posy] 且 point…

Linux文件系统结构及相关命令1(man pwd ls ctrl +Shift +T ls /etc)

Linux的文件系统结构 某所大学的学生可能在一两万人左右,通常将学生分配在以学院-系班为单位的分层组织机构中。 如何查找一名学生? 最笨的办法:依次问询大学中的每一个学生,直到找到为止。 查询效率高的方法:按照从…

2023年新一代开发者工具 Vue ,正式开源!

以下文章来源于前端充电宝 ,作者CUGGZ 近日,Vue 新一代开发者工具(DevTools)正式开源!Vue DevTools 是一个旨在增强 Vue 开发人员体验的工具,它提供了一些功能来帮助开发者更好地了解 Vue 应用。下面就来看…

用IDEA创建/同步到gitee(码云)远程仓库(保姆级详细)

前言: 笔者最近在学习java,最开始在用很笨的方法:先克隆远程仓库到本地,再把自己练习的代码从本地仓库上传到远程仓库,很是繁琐。后发现可以IDEA只需要做些操作可以直接把代码上传到远程仓库,也在网上搜了些…

【FileZilla】的基本使用

一、FileZilla的使用 1.1 FileZilla简介 1.2 软件下载 到官方网站下载 FileZilla 的服务端和客户端程序 FileZilla - The free FTP solution 自行下载即可 1.3 软件安装 (1)先安装服务端【傻瓜式安装】,一直下一步下一步安装即可 &#xf…

Python绘制高级图表(1):绘制条形统计图

一、初始化 1. 引入库,设置画笔 from turtle import * t Turtle() t.color("black") t.width(3)2. 为了美观,画出xy轴 (1) 普通型 from turtle import * t Turtle() t.color("black") t.width(3)# 以画布为600 * 600为例 # 1.…

搭建maven私服

maven maven简介 什么是maven? Maven这个单词来自于意第绪语(犹太语),意为知识的积累。 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以…

算法训练day53|动态规划part14

参考:代码随想录 1143.最长公共子序列 重点:状态的转移与递推公式的确定 本题和动态规划:718. 最长重复子数组 (opens new window)区别在于这里不要求是连续的了,但要有相对顺序,即:"ace" 是 …

Spark任务调度与数据本地性

Apache Spark是一个分布式计算框架,用于处理大规模数据。了解Spark任务调度与数据本地性是构建高效分布式应用程序的关键。本文将深入探讨Spark任务调度的流程、数据本地性的重要性,并提供丰富的示例代码来帮助大家更好地理解这些概念。 Spark任务调度的…

小程序面试题 | 17.精选小程序面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

自然语言处理2——轻松入门情感分析 - Python实战指南

目录 写在开头1.了解情感分析的概念及其在实际应用中的重要性1.1 情感分析的核心概念1.1.1 情感极性1.1.2 词汇和上下文1.1.3 情感强度1.2 实际应用中的重要性 2. 使用情感分析库进行简单的情感分析2.1 TextBlob库的基本使用和优势2.1.1 安装TextBlob库2.1.2 文本情感分析示例2…

【Electron】webview 实现网页内嵌

实现效果: 当在输入框内输入某个网址后并点击button按钮 , 该网址内容就展示到下面 踩到的坑:之前通过web技术实现 iframe 标签内嵌会出现 同源策略,同时尝试过 vue.config.ts 内配置跨域项 那样确实 是实现啦 但不知道如何动态切换 tagert …

全球日光地图分布地图数据

日光地图分布地图数据 Daylight 是全球开放地图数据的完整分发版,可在社区和专业地图制作者的支持下免费获取。我们将 OpenStreetMap 等项目的全球贡献者的工作与日光制图合作伙伴的质量和一致性检查结合起来,创建免费、稳定且易于使用的街道比例全球地…

Java EE 网络原理之HTTPS

文章目录 1. HTTPS 是什么?2. "加密" 是什么?3. HTTPS 的工作过程3.1 引入对称加密3.2 引入非对称加密3.3 中间人攻击3.4 引入证书 4. Tomecat4.1 tomcat 的作用 1. HTTPS 是什么? HTTPS也是⼀个应用层协议,是在 HTTP …

C#使用switch语句更改窗体颜色

目录 一、示例 二、生成 用switch多路选择语句及窗体的BackColor属性更改窗体的BackColor属性。该属性用于获取或设置控件的背景颜色。 可以使用Color结构的静态属性获取Color对象,如Color.Red;也可以使用Color结构的静态方法Color.FromArgb()&#xf…