zoukankan      html  css  js  c++  java
  • Linux 中权限的再讨论( 上 )

    前言

      在Linux系统中,用户分为三个部分( 所有者 同组人 其他 )。每个部分的权限又可以赋予读/写/执行权限。这样,文件的权限标记一共包含 9 个权限位。好了,很多朋友对于Linux权限的了解就仅限于此了。但,Linux目录权限和文件权限一样吗内核对于权限的检查过程又是怎样的?如果你不清楚,本文将为你解惑。

    目录权限

      1. 目录读权限

      目录读权限允许读取目录的文件列表并显示出来,仅仅是允许读取文件列表,对于文件其他信息的读取不保证

      事实上,如果只有读权限没有写权限,那么执行查看目录后显示如下:

      

      2. 目录写权限

      如果要在目录里面创建文件,那么就需要写权限,别忘了,也要执行权限

      3. 目录执行权限

      目录执行权限允许你进入这个目录。比如,你要cd进一个目录( 切换工作目录 );又比如,当你要打开一个文件,那么,对于这个文件完整路径上的每个目录,你都要具备其执行权限。

    内核权限检查机制

      内核权限检查机制涉及到了文件所有者,文件所有组,进程有效用户ID,进程有效组ID,进程附加组ID。其中前两个属于文件属性,后三个属于进程属性下面的检查机制实际上就是比对文件的权限ID和进程的权限ID

      内核权限检查机制分步骤进行,任何一步执行完后如果进程分配到了权限,则检查结束。

      第一步:如果进程有效用户ID为0 ( 即root用户 ),那么该进程可对文件/目录做任何处理。

      第二步:若进程的有效用户ID等于文件的所有者ID,那么该进程赋予文件所有者权限。

      第三歩:若进程的有效组ID或者附加组ID等于文件所有组ID,那么该进程赋予文件所有组权限。

      第四步:若文件的其他用户权限被设置,则进程赋予其他用户权限。

    说明

      其实Linux还有一些特殊权限( 也很重要 ),我将在下一篇文章进行讲解。

  • 相关阅读:
    TCP链接异常断开后,对端仍然ESTABLISH
    mds0: Many clients (191) failing to respond to cache pressure
    Linux C/C++编译过程中的各种not declared in this scope
    Centos7添加磁盘并分区格式化
    Windows Terminal——安装并配置主题
    Kbone——创建项目报错 name can no longer contain capital letters
    Redis——大批量删除redis的key
    Redis——设置最大内存 | key淘汰机制
    Nightingale——滴滴夜莺部署【一】
    ELK——使用Docker快速搭建
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3375467.html
Copyright © 2011-2022 走看看