• Linux权限认识


    前言

    对于Linux是笔者第一次的介绍,而对于的基础指令是没有介绍的,可以参考《Linux实验教程》去了解相关指令,本篇博客则只是介绍了与权限相关的指令!
    在这里插入图片描述

    1.初识权限

    权限,顾名思义就是在一定范围程度上可以行使的权利的大小!

    在Linux系统下,分为以下两种用户:
    超级用户(root):自由度最高,不受限制
    普通用户:受一定限制

    一般可以使用,su指令在二者之间进行转换!
    在这里插入图片描述

    因此,有以下命令:
    su [用户名]:切换用户

    2.文件权限

    2.1文件类型和访问权限

    在这里插入图片描述

    在截图的最前边,是存在r、w、x这些符号的,而这些符号的含义是什么呢?

    r:读权限,对于文件而言拥有读取文件的权限,对于目录而言具有浏览该目录的权限!
    w:写权限,对于文件而言具有修改文件的权限,对于目录而言具有删除移动目录内文件的权限!
    x:执行权限,对于文件而言,拥有执行文件的权限,对于目录而言具有进入目录的权限!

    观察上述图片,第一个空格之前是存在10位字符的,那么这些字符在不同位置的意义是什么呢?
    而对于上述权限用以下的图片进行解释:
    在这里插入图片描述

    那么文件类型是什么呢?

    d:文件夹
    b:块设备文件
    p:管道文件
    c:字符设备文件
    s:套接口文件
    -:普通文件(源代码,库文件,可执行程序)
    l:软连接

    关于这些文件到底是什么,目前先不进行介绍,只需知道在第一位是文件类型是哪一种即可!

    2.2文件访问者

    文件和文件目录的所有者:u
    文件和文件目录的所有者所在组的用户:g
    其他用户:o

    所以上述图片就得已解释了,现在看如下例子:
    在这里插入图片描述
    此时,test文件是1个普通文件,拥有者可以读和写,不可以执行;所属组可以读和写,不可以执行;其他人只可以写,读和执行都不可以操作!

    在这里插入图片描述

    2.3文件权限值的表示方法

    在这里插入图片描述
    而一般新建文件夹的默认权限是0666,目录的默认权限是0777。

    在这里插入图片描述
    而上述两个新建的文件和目录的初始权限却是664和775,这是因为在Linux中存在umask文件掩码,而在创建目录或者文件的时候要受到umask的影响,而普通用户的文件掩码是0002,root用户的文件掩码是0022。

    umask  权限值
    功能:设置新的文件掩码
    
    • 1
    • 2

    通过上述的文件掩码,产出的文件权限是:umask & ~mask(mask是文件的默认权限,也就是666或者777),关于这一点可以上机去验证!

    3.文件访问权限的修改

    3.1chmod

    chmod [参数] 权限 文件名
    //R->递归修改目录的文件权限
    //只能文件的拥有者和root才可以执行此命令来改变文件的权限
    
    • 1
    • 2
    • 3

    1️⃣

    +表示增加权限
    -表示缩小权限
    =赋予权限(会清除所有权限,只保留=右边表示的权限)
    u表示拥有者
    g表示所属组
    o表示其他用户
    a表示所有用户

    在这里插入图片描述

    2️⃣

    chmod 文件权限八进制形式 文件名
    
    • 1

    在这里插入图片描述

    2.chown

    chown  用户名 文件名
    //改变文件的拥有者
    
    • 1
    • 2

    在这里插入图片描述

    3.chgrp

    chgrp 所属组名 文件名
    //改变文件或目录的所属组
    
    • 1
    • 2

    操作与上述类似,就不进行举例了,而需要注意的是chown与chgrp我都是在root下完成的。如果用文件或者目录的拥有者去改变文件拥有者或者所属组的时候,如果没有将普通用户添加到信任目录里面的话,这个操作就会失败!具体的后面会介绍!

    4.目录权限

    • 可执行权限:如果目录没有可执行权限,则无法cd进该目录!
    • 可读权限:如果目录没有可读权限,则无法ls查看目录中的内容!
    • 可写权限:如果目录没有可写权限,则无法在目录中创建文件也无法再目录中删除权限!

    4.1目录权限与文件权限

    现在先看如下例子:
    在这里插入图片描述

    此时,可以得出结论,如果对于目录存在写权限,就可以删除目录中的文件了,即使目录中的文件并不提供删除的权限!

    为了解决上述的问题,此时也就引入了粘滞位的概念!

    4.2粘滞位

    chmod +t 目录名
    
    • 1

    在这里插入图片描述
    给目录进行上述操作,此时目录权限就变成了rwxrwxr-t,此时尽管所属组用户拥有rwx权限,也不能删除该目录下的文件了,对文件在一定程度上进行了保护!

    4.3目录权限的总结

    1. 如果不具有可执行权限,对文件或者目录不能执行任何命令,甚至不能cd进目录,也不能进行ls读取目录的内容,即使目录存在r权限
      在这里插入图片描述
    2. 而拥有-x权限,不拥有-r权限,无法对文件或者目录的内容进行读取
    3. 同样,没有-w权限,不能对文件或者目录进行写入或创建删除!

    Ending

    关于Linux权限的概述也就到此为止了,有问题的欢迎私信我!

  • 相关阅读:
    Spring源码分析(十六)循环依赖3:其他场景下循环依赖分析,以及神器@Lazy懒加载解决循环依赖
    Redis最全详解(三)——SpringBoot整合2种方式
    java计算机毕业设计ssm宠物店管理系统element vue前后端分离
    Java练习题-输出斐波那契(Fibonacci)数列
    RabbitMQ开启MQTT协议支持
    交通物流模型 | 基于双向时空自适应Transformer的城市交通流预测
    对大自然规律的产生及发展的思考
    Java的根类Object
    Linux:实用操作
    Flume采集端口数据kafka消费
  • 原文地址:https://blog.csdn.net/weixin_57248528/article/details/127449375