前言

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

目录权限

  1. 目录读权限

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

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

  

  2. 目录写权限

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

  3. 目录执行权限

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

内核权限检查机制

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

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

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

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

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

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

说明

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

Linux 中权限的再讨论( 上 )的更多相关文章

  1. 第十篇:Linux中权限的再讨论( 上 )

    前言 在Linux系统中,用户分为 个权限位.好了,很多朋友对于Linux权限的了解就仅限于此了.但,Linux目录权限和文件权限一样吗?内核对于权限的检查过程又是怎样的? 如果你不清楚,本文将为你解 ...

  2. 第十一篇:Linux中权限的再讨论( 下 )

    前言 上篇随笔讲述了Linux中权限的大致实现机制以及目录权限的相关规则.本文将讲解Linux中的三种特殊权限:SUID,SGID,Sticky权限. 看完这两篇文章,你一定会对Linux的权限有个更 ...

  3. Linux 中权限的再讨论( 下 )

    前言 上篇随笔讲述了Linux中权限的大致实现机制以及目录权限的相关规则.本文将讲解Linux中的三种特殊权限:SUID,SGID,Sticky权限.看完这两篇文章,你一定会对Linux的权限有个更深 ...

  4. Linux中权限(r、w、x)对于目录与文件的意义

    Linux中权限(r.w.x)对于目录与文件的意义 一.权限对于目录的意义 1.首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方. 2.r权限:拥有此权限表示可以读取 ...

  5. linux中权限的修改

    修改访问权限的linux名是:Linux访问权限的问题是这样子的:比如 d rwx rwx rwx ,d是文件所在的文件,后面有9位,分别代表不同者的权限.第一个rwx代表这文件的所有者的权限,r是r ...

  6. 第十二章:Linux中权限控制实例

    前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...

  7. Linux 中权限控制实例

    前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...

  8. linux中权限管理命令(chmod/chown/chgrp/unmask)

    目录 chmod chown chgrp umask chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/ ...

  9. linux中权限对文件和目录的作用

    chmod 755 a.txt 文件: r:读取文件内容(cat more head tail) w:编辑,新增,修改文件的内容(vi,echo) 不包括删除文件:原因是只能对文件内容进行修改,而在l ...

随机推荐

  1. python - opencv 的一些小技巧备忘

    python - opencv 的一些小技巧备忘 使用python-opencv来处理图像时,可以像matlab一样,将一幅图像看成一个矩阵,进行矢量操作,以加快代码运行速度. 下面记录几个常用的操作 ...

  2. bzoj4717 改装 模拟+二分

    Description [题目背景] 小Q最近喜欢上了一款游戏,名为<舰队connection>,在游戏中,小Q指挥强大的舰队南征北战,从而成为了一名dalao.在游戏中,不仅船只能力很重 ...

  3. <编程精粹:编写高质量C语言代码> 读书笔记

    0.规则<The Elements of Programming Style><The Elements of Style> 1.假想的编译程序(1)使用编译器提供的所有的可选 ...

  4. Windows PowerShell Exit Codes

    Windows PowerShell Exit Codes PSMDTAG:FAQ: How can my script control the PowerShell exit code? Answe ...

  5. node--http小爬虫&事件模块

    //http小爬虫 var http=require('http') var cheerio=require('cheerio') var url='http://www.imooc.com/lear ...

  6. [LeetCode] Edit Distance 字符串变换为另一字符串动态规划

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  7. 【MFC】error RC2108: expected numerical dialog constant(转)

    原文转自 http://blog.csdn.net/renyhui/article/details/23120469 [解决方案]在控件ID后面添加 "Static", SS_BI ...

  8. usb_control_msg参数详解【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-3243059.html usb_control_msg() struct usb_ctrlrequest|- ...

  9. 标准C程序设计七---111

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  10. ubuntu16.04安装ibus中文输入法

    按照网上给的安装方法,没成功,在切换ibus的时候总是报错,记录下解决办法. 安装语言包 System Settings–>Language Support–>Install/Remove ...