Linux权限命令详解

news2024/11/30 10:53:55

Linux权限命令详解

文章目录

  • Linux权限命令详解
    • 一、什么是权限?
    • 二、权限的本质
    • 三、Linux中的用户
    • 四、linux中文件的权限
      • 4.1 文件访问者的分类(人)
      • 4.2 文件类型和访问权限(事物属性)
    • 五、快速掌握修改权限的做法【第一种】
      • 5.1 修改拥有者的权限
      • 5.2 修改所属组的权限
      • 5.3 修改other的权限
      • 5.4 修改多个角色的权限
      • 5.5 一键添加或删除所有权限
      • 5.6 更改文件的拥有者
      • 5.7 更改文件的所属组
      • 5.8 同时更改拥有者和所属组
    • 六、快速掌握修改权限的做法【第二种】
      • 6.1 八进制
    • 七、文件类型
    • 八、可执行权限
    • 九、创建文件的默认权限
      • 9.1 权限掩码
      • 9.2 修改umask
    • 十、目录的权限

一、什么是权限?

权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如vip,门禁之类的

二、权限的本质

权限和人有关,权限和事物的属性有关

权限=人+事物属性有关【人也就是相当于角色】

三、Linux中的用户

  • linux有root用户【超级管理员用户】,普通用户,那么我们怎么切换这两种用户呢?

  • 切换root用户

su -
  • 切换普通用户就是su后面加个用户名
su 用户名
  • 在linux中有三种“人”【角色】:拥有者,所属组,other

  • 其中第一个lin就是拥有者,第二个是所属组,其他就是other

在这里插入图片描述

  • su 用户名,是从root变成普通用户,刚刚上面也说了

  • 但是我不想直接变成root,但是我想以root的身份执行一个工作,怎么做呢?

    • 在执行命令前加上一个sudo

在这里插入图片描述

  1. 那么为什么sudo对指令进行提权的时候,输入的是我们自己密码?那样不是很不安全,用root身份想干啥干啥
  2. 默认普通目前无法执行sudo ,暂时不解决,之后用vim再来解决这个问题

四、linux中文件的权限

4.1 文件访问者的分类(人)

  • 文件和文件目录的所有者:u—User(中国平民 法律题)
  • 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
  • 其它用户:o—Others (外国人)

4.2 文件类型和访问权限(事物属性)

在这里插入图片描述

在这里插入图片描述

  • 文件的属性权限一般有三种

    • r,读
    • w,写
    • x,可执行权限
  • 我们来看下面这里

[lin@shilin lesson1]$ ls -l
total 0
-rw-rw-r-- 1 lin lin 0 Dec  8 10:39 test.txt
[lin@shilin lesson1]$ 
  • 其中-rw-rw-r--是七个字符,我们先不管第一个字符
  • 来看后6个,33为一组,分别对应:拥有者,所属组,other
    • 第一个字符:是否具有读权限,【如果是,就r,否则,就是-】
    • 第二个字符:是否具有写权限,【如果是,就是w,否则,就是-】
    • 第二个字符:是否具有可执行权限,【如果是,就是x,否则,就是-】

五、快速掌握修改权限的做法【第一种】

在这里插入图片描述

  • 一个文件的权限,谁能修改?

    • 文件的拥有者
    • root
  • 用命令怎么修改呢

5.1 修改拥有者的权限

减拥有者的权限

chmod u-w test.txt

在这里插入图片描述

加拥有者的权限

chmod u+rw test.txt

在这里插入图片描述


5.2 修改所属组的权限

减所属组的权限

chmod g-rw test.txt

在这里插入图片描述

加所属组的权限

chmod g+rw test.txt

在这里插入图片描述


5.3 修改other的权限

减other的权限

chmod o-rw test.txt

在这里插入图片描述

加other的权限

chmod o+r test.txt

在这里插入图片描述


5.4 修改多个角色的权限

那我想更改多个"人"【角色】的权限,怎么修改呢?
多个权限之间价格逗号即可~~【注意:一定是英文的!】

批量减少权限

chmod u-w,g-w test.txt

在这里插入图片描述

批量添加权限

chmod u+w,g+w,o+w test.txt

在这里插入图片描述

删除所有权限

chmod u-rw,g-rw,o-rw test.txt

在这里插入图片描述


5.5 一键添加或删除所有权限

  • 这里的a就是all的意思【所有】

添加所有权限

chmod a+r test.txt

在这里插入图片描述


删除所有权限

chmod a-r test.txt

在这里插入图片描述

  • 对于普通用户,自身要受到对应权限的约束,即使这个文件是自己的!

在这里插入图片描述

  • 对于root用户,不受权限约束的!

在这里插入图片描述

  • 对于其他用户,文件对应的是other选项,这个选项是没有读和写权限的

在这里插入图片描述

注意:对于文件的拥有者,如果删除了文件的拥有者权限,但是所属组的没有删除,它也会禁止读写操作

在这里插入图片描述

结论:权限只会匹配一次!

5.6 更改文件的拥有者

chown root test.txt

在这里插入图片描述


我们回到上面的那里

  • 这个时候我们把拥有者的改成root用户,但是所属组还是原来的

在这里插入图片描述

结论:身份识别的时候只识别一次,一旦匹配成功就不继续匹配了,如果失败就继续匹配

5.7 更改文件的所属组

chgrp root test.txt

在这里插入图片描述

这个时候文件也就普通用户都不属于了

在这里插入图片描述

这里如果再加上other的读和写的权限,就又可以了~~

chmod o+rw test.txt

在这里插入图片描述

在这里插入图片描述

5.8 同时更改拥有者和所属组

chown lin:lin test.txt

在这里插入图片描述

那么怎么没有修改other的指令呢?

六、快速掌握修改权限的做法【第二种】

6.1 八进制

在这里插入图片描述

  • 如上图所示,如果有一个字符就代表1,如果是-就代表0

在这里插入图片描述

我们想去掉所有人的所有权限可以这样做

chmod 000 test.txt

在这里插入图片描述

赋予所有权限就是下面这条命令

chmod 777 test.txt

在这里插入图片描述

保留拥有者的读写权限

chmod 600 test.txt

在这里插入图片描述

在这里插入图片描述

七、文件类型

在windows使用的是后缀名来区分文件类型的
而在linux中是不通过后缀区分文件类型【不是linux不用后缀】

那么通过什么区分呢?

  • ls -l第一个属性列

在这里插入图片描述

  • -:普通文件,文本文件,可执行程序,库等都叫做普通文件
  • d:目录文件
  • b:块设备文件
  • c:字符设备文件
  • p:管道文件
  • l:链接文件

我们来挨个介绍一下

  • 第一个-普通文件

平时创建的文件就是普通文件

在这里插入图片描述

  • 第二个d目录文件

在这里插入图片描述

  • 第三个b块设备文件

这个典型的代表就是磁盘

ls -l /dev/vda

在这里插入图片描述

  • 第四个c字符文件

这个终端文件我们在linux命令章节讲过了,这里就不再赘述

ls -l /dev/pts/

在这里插入图片描述

  • 第五个p管道文件

我们创建一个管道文件

mkfifo pipe

在这里插入图片描述

  • 这里就可以通过管道文件来进行输出

在这里插入图片描述

  • 第六个l链接文件
ln -s /home/lin/lesson1/test.txt xx.link

这个链接文件也就是相当于创建了一个快捷方式,直接指向了这个文件

在这里插入图片描述

  • 如果删除了源文件,那么这个快捷方式也就不能用了

在这里插入图片描述

  • 比如linux的根目录就有很多的链接文件

在这里插入图片描述

八、可执行权限

我们了解了读权限,写权限,那么可执行权限是什么呢?如何理解?

是一个可执行的文件,也有可执行权限,才能执行

能执行 = 具有可执行权限 + 一个可执行文件

  • 如果我们要进入一个目录,需要什么权限? ----> 进入一个目录,需要x权限

我们来验证一下:

  • 第一种情况:

在这里插入图片描述

  • 第二种情况:

在这里插入图片描述

  • 第三种情况:

在这里插入图片描述

  • 可以看到去掉x权限就不能进入目录了~~

小结一下:

  • 进入一个目录需要x权限
  • 目录的r权限:用户能否查看指定目录的文件信息
  • 目录的w权限:决定用户是否能在指定的目录内新建,修改,删除文件

九、创建文件的默认权限

linux创建文件的时候,为什么好像有默认权限?为什么是我们看到的样子?

在这里插入图片描述

  • Linux创建的普通文件,起始权限是:0666,去掉x的
  • Linux创建的目录文件,起始权限是:0777,包含x的

  • 再看上面的权限,我们的创建的普通文件也不是666,而是664,目录文件也不是777,而是775

9.1 权限掩码

umask
  • 在创建文件的时候,要在起始权限中,过滤掉(不是简单的减法)再umask中出现的权限

在这里插入图片描述

9.2 修改umask

umask 0000

在这里插入图片描述

  • 修改了umask后,创建出来的文件权限也发生了改变,所以是uamsk影响了我们的默认权限

最终权限 = 起始权限 & (~umask)

在这里插入图片描述

在这里插入图片描述

umask:Linux中的权限掩码!


十、目录的权限

  • 为什么我们普通人竟然可以删除别人的文件(包括root)合理吗?

在这里插入图片描述

  • 删除一个文件和目标文件有关系吗? ---->没有关系!!!

  • 那么和谁有关系呢? ---- >和我所在的目录有关系!!!

在这里插入图片描述

  • 这个目录是这个用户的拥有者,在我自己的目录里创建文件就要受到我管束~~

所以删除文件是由这个目录的拥有者来管理,删除一个文件的本质就是修改这个目录的内容

  • 所以创建一个目录的时候是默认去掉写权限的,一个外来用户进入到这个目录是不能进行创建文件的~~

本期内容就到这里了,感谢大家的收看,欢迎三连~~

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

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

相关文章

【刷题篇】动态规划(六)

文章目录 1、最大子数组和2、环形子数组的最大和3、乘积最大子数组4、乘积为正数的最长子数组长度5、 等差数列划分6、最长湍流子数组 1、最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素)&…

Cache替换算法

目录 一. 随机算法(RAND)二. 先进先出算法(FIFO)三. 近期最少使用算法(LRU)四. 最不经常使用算法(LFU) 要解决的问题: Cache很小,主存很大。如果cache满了怎么办? \quad 也要关注各种算法的英文缩写 \quad 一. 随机算法(RAND) \quad 随机算法―一实现简…

Qt优秀开源项目之十九:跨平台记事本Notes

官网:https://www.get-notes.com github:https://github.com/nuttyartist/notes 一.特性 1.完全基于Qt和C 2.完全开源和跨平台(Linux、macOS、Windows) 3.运行速度快,界面美如画 4.支持Markdown 5.支持使用嵌套文件夹…

C# 任务并行类库Parallel调用示例

写在前面 Task Parallel Library 是微软.NET框架基础类库(BCL)中的一个,主要目的是为了简化并行编程,可以实现在不同的处理器上并行处理不同任务,以提升运行效率。Parallel常用的方法有For/ForEach/Invoke三个静态方法…

Ubuntu安装向日葵【远程控制】

文章目录 引言下载向日葵安装向日葵运行向日葵卸载向日葵参考资料 引言 向日葵是一款非常好用的远程控制软件。这一篇博文介绍了如何在 Ubuntu Linux系统 中安装贝瑞向日葵。🏃💥💥💥❗️ 下载向日葵 向日葵官网: https://sunl…

Springboot自定义start首发预告

Springboot自定义start首发预告 基于Springboot的自定义start , 减少项目建设重复工作, 如 依赖 , 出入参包装 , 日志打印 , mybatis基本配置等等等. 优点 模块化 可插拔 易于维护和升级 定制化 社区支持(后期支持) 发布时间 预告: 2023-12-10 预计发布: 2024-1-1 , 元旦首…

鸿蒙应用开发ArkTS基础组件的使用

语雀知识库地址:语雀HarmonyOS知识库 飞书知识库地址:飞书HarmonyOS知识库 本文示例代码地址:Gitee 仓库地址 嗨,各位好呀,我是小白 上一篇文章我为大家介绍了如何使用 ArkTS 开发鸿蒙应用,对 HarmonyOS 项…

【IDEA】解决mac版IDEA,进行单元测试时控制台不能输入问题

我的IDEA版本 编辑VM配置 //增加如下配置,重启IDEA -Deditable.java.test.consoletrue测试效果

2023最新最全【Wireshark 】 安装教程(附安装包)

简介 wireshark是非常流行的网络封包分析工具,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而…

【React Hooks】useReducer()

useReducer 的三个参数是可选的,默认就是initialState,如果在调用的时候传递第三个参数那么他就会改变为你传递的参数,实际开发不建议这样写。会增加代码的不可读性。 使用方法: 必须将 useReducer 的第一个参数(函数…

代码随想录算法训练营第四十天|139.单词拆分,多重背包,背包问题

139. 单词拆分 - 力扣(LeetCode) 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1&a…

ES6原生音乐播放器(有接口)

视频展示 ES6音乐播放器 项目介绍 GutHub地址:GitHub - baozixiangqianchong/ES6_MusicPlayer: 音乐播放器 ES6_MusicPlayer 是基于JavaScriptES6Ajax等通过原生构建的项目。能够充分锻炼JS能力。 本项目有主页、详情页、歌单页面三部分组成 ├── assets&…

【Hive】启动beeline连接hive

1、解决报错2、在datagrip上连接hive 1、解决报错 刚开始一直报错&#xff1a;启动不起来 hive-site.xml需要配置hiveserver2相关的 在hive-site.xml文件中添加如下配置信息 <!-- 指定hiveserver2连接的host --> <property><name>hive.server2.thrift.bin…

力扣思维题/经典面试题——下一个排序

https://leetcode.cn/problems/next-permutation/description/ 字节面试题&#xff0c;非常经典的逻辑思维题 1、找到第一个下降点&#xff0c;说明这个点可以变得稍微大一点以至于让整个排列变得更加大 为什么&#xff0c;仔细想想&#xff0c;后面都是倒序了怎么都不可能变得…

fijkplayer flutter 直播流播放

fijkplayer flutter 直播流播放 fijkplayer 是 ijkplayer 的 Flutter 封装&#xff0c; 是一款支持 android 和 iOS 的 Flutter 媒体播放器插件&#xff0c; 由 ijkplayer 底层驱动。 通过纹理&#xff08;Texture&#xff09;接入播放器视频渲染到 Flutter 中。 前言 目前使用…

class072 最长递增子序列问题与扩展【算法】

class072 最长递增子序列问题与扩展【算法】 code1 300. 最长递增子序列 // 最长递增子序列和最长不下降子序列 // 给定一个整数数组nums // 找到其中最长严格递增子序列长度、最长不下降子序列长度 // 测试链接 : https://leetcode.cn/problems/longest-increasing-subsequen…

Java 简易版 UDP 多人聊天室

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

分集水器在中央空调系统中的应用,工作原理压力选型参数尺寸

​ 1&#xff1a;中央空调分集水器设备介绍 分集水器是由分水器和集水器组合而成的水流量分配和会集装置。分水器是将一路进水通过一个容器分为几路输出的设备&#xff0c;而集水器则是将多路进水通过一个容器一路输出的设备。其管理若干的支路管道&#xff0c;分别包括回水支路…

1-1、Java概述

语雀原文链接 文章目录 1、Java发展2、Java体系结构3、Java特点 1、Java发展 1990年&#xff0c;Sun公司(Stanford University Network,斯坦福大学网络公司)詹姆斯高斯林推出的一门语言最开始注册的名字oak语言(橡树)&#xff0c;重名了被迫改成Java2009年Sun公司被甲骨文Ora…

IP地址定位技术为网络安全建设提供全新方案

随着互联网的普及和数字化进程的加速&#xff0c;网络安全问题日益引人关注。网络攻击、数据泄露、欺诈行为等安全威胁层出不穷&#xff0c;对个人隐私、企业机密和社会稳定构成严重威胁。在这样的背景下&#xff0c;IP地址定位技术应运而生&#xff0c;为网络安全建设提供了一…