• linux系统文件权限


    目录

    shell命令以及运行原理

    具体体现(命令行解释器)

    Linux权限的概念

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

    su指令 

    Linux权限管理方面

    文件访问者的分类(人)

    为什么要有所属组?

    文件属性的认识

    文件权限读取修改方面

    如何读取文件权限? 

    如何更改文件权限(chmod)?

    更改拥有者(chown)与所属组(chgrp)

    更改文件权限(八进制数法)

    文件默认权限

    为什么有文件的默认权限?

    修改umask来验证系统是如何使用umask值

     一个目录需要什么权限?

    其他指令

    file 

    粘滞位

    结束语


    shell命令以及运行原理

            Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通
            从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)
    主要包含:
            将使用者的命令翻译给核心(kernel)处理。
            同时,将核心的处理结果翻译给使用者。
            对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)
            shell 对于 Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

    具体体现(命令行解释器)

            命令行解释器(command line interpreter),命令行解释器是一个单独的软件程序,它可在用户和操作系统之间提供直接的通讯。命令行解释器是解释器的一种,用于对命令行进行解释执行。

    表现:你看到的命令行提示符,以及可以输入指令并且可以执行,在Windows下在在计算机搜索栏里面输入“cmd”可以看到命令行提示符,在里面可以进行指令操作

    cda85ed4f069484682e08848aea480a3.png
    cf0eb0335e6e498eb1996597e804fd00.png

    Linux权限的概念

            权限是用来约束人的(一个或者某些群体,比如视频网站的VIP),还有一点需要注意的是目标对象(视频网站等),本来就没有对应的属性(业务,比如去视频网站刷题),那么所有人就没有这种权限(刷题的权限),通俗点就是权限:一件事是否允许被谁做

    综合上:文件权限 = 人(是否被允许) + 文件属性(是否有该属性)!

            一个普通文件即使显示为0字节,它在磁盘中所占的空间一定会大于0

            文件 = 内容(里面的内容) + 属性(创建时间等一系列自己所带的数据)

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

    超级用户:可以再linux系统下做任何事情,不受限制

    普通用户:在linux下做有限的事情。

    超级用户的命令提示符是“ #”,普通用户的命令提示符是“ $

    su指令 

            注意两者密码不要设置成一样的,当想要切换用户的时候,使用su指令,可以进入下图,在输入指定用户的密码就可以完成用户的切换,当然root用户切换普通用户是不需要密码的root用户改普通用户密码也是不需要普通用户密码的,可以理解root用户是凌驾于权限之上的!所以一定要保管好自己root用户的密码哦~

     b11d327e0e5c4eae8cc6858b6cc8d5b7.png

     使用 su - 会使root用户重新登入

     3f7b7b21c2fe462d910fef40565ec7a7.png

     root用户切换普通用户是不需要密码的

    433cf8092e7a4bc6a117bb9c29ad00b8.png

    当我们不想切换root用户而使用root权限的时候可以使用sudo指令,当然有些情况下是不能使用sudo指令的,因为这里面有类似于白名单与黑名单的存在!

    8b4d665686bc4b5a95d76cc1735bc483.png

     743e19c58f2248128f709cbbc0da9609.png

    Linux权限管理方面

    文件访问者的分类(人)

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

     23e6822bd8a441bca516313adc16b074.png

    为什么要有所属组?

    bf12a09001184ed4aefaf1197d549db6.png

    文件属性的认识

    969addb49227452c94d2c99bdd4e2698.png

     dc2e60a8a8b540269dca093e81893d82.png

    aac064c843d94d86843d20c71049aa77.png

    至于 s:套接口文件,这种文件的类型比较少就不讨论了

    注意:虽然Linux系统下查看文件并不使用文件后缀名,但是一些诸如gcc等工具可能是会使用文件后缀名来进行区别对待的!

    例如下面的gcc编译就不行了 ,gcc无法识别 

    a22de38e1b50458c8b276c6c12b6ee64.png

    文件权限读取修改方面

    如何读取文件权限? 

     8d1e5bccae7c4732955e0d3e99e9b19b.png

    如何更改文件权限(chmod)?

    为了修改文件的权限,可以使用一个指令来完成

    chmod(change mode )
    功能:设置文件的访问权限
    格式:chmod [参数] 权限 文件名
    常用选项:
    R -> 递归修改目录文件的权限
    说明:只有文件的拥有者和root才可以改变文件的权限

    使用方法: 

    用户表示符+/-=权限字符

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

    文件权限的修改

    84810bc063db4ab0973077cb55f5a148.png

    2b429379f5a0467abcd24e82231972c1.png

    更改拥有者(chown)与所属组(chgrp)

    chown
    功能:修改文件的拥有者
    格式:chown [参数] 用户名 文件名

    chgrp
    功能:修改文件或目录的所属组
    格式:chgrp [参数] 用户组名 文件名
    常用选项:-R 递归修改文件或目录的所属组

    458d021f508b41b6902e7634965c08b1.png

     当然other并没有要修改的,当既不是拥有者也不是所属组的时候就自然是other了

    更改文件权限(八进制数法)

    26fad6a380ac42218ba4e69ffedcb802.png

    文件默认权限

    为什么有文件的默认权限?

    9b365ba18fd149ac94edfe0cf3d58e15.png

    修改umask来验证系统是如何使用umask值

    5c575beb0b0c4d35b2f5d7aea2ba1afe.png

     一个目录需要什么权限?

    631b0f5ea586415fb19f977a188997b7.png

    目录的权限总结

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

    其他指令

    file 

    功能说明:辨识文件类型。
    语法:fifile [选项] 文件或目录... 
    常用选项
    -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
    -z 尝试去解读压缩文件的内容

    410872213bf84537a87826407a1ef40a.png

    粘滞位

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

    e0ea91d517e64ebb9f351eb2af42f06f.png

     即使提权输入也不被允许!当然这里查看文件内容并不是目录的权限而是文件本身的权限

     791fa85b1ce340feb7cb2c76b06bdfc7.png

    关于目录权限的总结 

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

    结束语

    壮志饥餐胡虏肉,笑谈渴饮匈奴血。待从头,收拾旧山河,朝天阙。

                                                                                    ——岳飞《满江红•写怀》

  • 相关阅读:
    梦想CAD控件,CAD插件,网页CAD 2022.06.22更新
    在 Java 中,如何创建泛型对象与泛型数组
    numpy生成0和1数组方法,从已有数组生成新数组方法、生成固定范围内数组、生成随机数组,绘制指定均值和标准差正态分布图、均匀分布图绘制
    vue 路由守卫实现权限控制
    把第三方jar引入到maven中
    Spring源码核心剖析
    【第四篇】-深入学习Git 工作区、暂存区和版本库
    Mental Poker- Part 2
    网络编程06-服务器编程非阻塞IO、多路复用
    L63.linux命令每日一练 -- 第九章 Linux进程管理命令 -- runlevel、init和service
  • 原文地址:https://blog.csdn.net/weixin_67595436/article/details/127722183