Linux文件系统每个文件分为inode和block,inode中包含一些基本信息(文件名,类型,长度,修改时间,权限等待),并且指向包含文件真实内容的block,而目录是文件的一种,其block的内容就是该目录下的文件列表,也就是一列文件名,并附有指向该文件inode的指针。

  inode中有权限信息,rwx分别为可读可写可执行,;每个目录相当于一个黑墙围成的房间,但正面有一扇玻璃门(类似橱窗),r代表房间中的灯(是否打开),而x权限代表进入房间的玻璃门(是否打开),w容易理解是房间中的东西的位置能否修改。有r则即使未开门也能看见里面有什么东西,但只能远观(只能显示名字和类别),而有x无r则可以进门但里面一片漆黑不知道有些什么,此时黑墙上若有其它门也可以摸着进入下一个房间。

  更新:

  文件组织的权限都在内核中,每种权限都对应一些内核函数调用。对于文件来说rwx就是block的权限,其中x对应exec,rw对应open|read/write,而对于目录来说,block分两类,文件名和inode,r是block内文件名的读取权限,x是block中的inode读取权限,w是block的修改权限,包括名字和inode,所以目录的rwx就是目录的一套i/o系统调用,opendir等等。这意味着目录有x可以下级索引,r仅仅是查看下级的名称,w可以组织下级。

  由于文件系统的inode,block模式,目录只对下一级负责。一个小例子,由于执行程序用到“./xxx”,或者/xx/xx/xx,都会转化为绝对路径,所以对目录的操作都是从根开始扫描的原子操作,没有中间指针,文件系统就是一种数据库。

  除了owner-group-others的rwx,还有三组别的权限,实际用户/组ID,有效用户/组,设置用户/组ID,这三组都是指程序运行时的用户名和组。按顺序来,实际用户/组ID说的是用户账户,在登录时用配置初始化,切换用户时可以改变。有效用户/组ID是指程序,每当运行一个新程序时,新程序也需要有用户名/组来获取对应的权限,所以用户执行了一个程序,程序 就有了当前用户的权限(成了一个活人)。但是如果想让该程序去读取一些当前用户不能读的文件,怎么办呢?

  这就是设置用户/组ID的意义,如果一个程序有了设置用户/组ID,那么执行时,权限为设置用户/组ID的权限,这样,如果想要读只有该用户能读的文件时,让该用户把设置用户/组ID设置为该用户,就可以了。另一种说法,如果想要让别人读一个你的文件,但又不想给多余的权限时,可以定制一个读取程序,然后设置设置用户/组ID,给他人使用。

  说到这,Linux系统最高权限就是内核本身,其次是root,然后是用户以及分配的各种权限。所谓权限,就是调用时的检查,而调用的提供者是内核。内核制定了一系列的规则逻辑,形成秩序。

关于Linux 文件权限的思考的更多相关文章

  1. 修改linux文件权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  2. Linux:文件权限

    Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...

  3. Linux 文件权限总结

    在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...

  4. Linux&shell 之Linux文件权限

    写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...

  5. linux文件权限整理

    网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...

  6. 修改linux文件权限命令:chmod 【转载】

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod  命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...

  7. linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)

    文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...

  8. Linux 文件权限于目录配置

    用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...

  9. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

随机推荐

  1. 学习笔记之X分钟速成Python3

    X分钟速成Python3 https://mp.weixin.qq.com/s/QT5sR0nUKgJYsYgrj2SleA https://learnxinyminutes.com/docs/zh- ...

  2. Linux系统编程——Daemon进程

    目录 Daemon进程介绍 前提知识 Daemon进程的编程规则 Daemon进程介绍 Daemon运行在后台也称作"后台服务进程". 它是没有控制终端与之相连的进程.它独立与控制 ...

  3. 在思科模拟器上配置AAA认证

    1.实验拓扑 2.检测用户之间连通性 PC2 ping PC-A PC-C  ping   PC-A 3.路由及服务器配置 R1:在路由器R1上配置一个本地用户账号并且利用本地AAA通过console ...

  4. 后台文本编辑器KindEditor介绍

    后台文本编辑器KindEditor介绍 我们在自己的个人主页添加文章内容的时候,需要对文章内容进行修饰,此时就需要文本编辑器助阵了! 功能预览 KindEditor文本编辑器 KindEditor文本 ...

  5. aspose.cells 复制单元格

    将第1行至第27行复制到第28行 cells.CopyRows(cells, 0, i*27, 27);

  6. 【转载】 github vue 高星项目

    内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489 - 饿了么出品的Vue2的web UI工具套件 Vux ★8133 - 基于Vue和 ...

  7. [java 2019-04-09] 代码生成word文档中的表格嵌套问题

    public static void createContent3(Date adtStart, Date adtEnd, Map<String, Object> aMap,Map< ...

  8. sql脚本过大,无法打开的解决方法

    打开cmd命令窗口,输入如下命令: sqlcmd -S ipaddress -U user -P password -d dbname -i file 其中,ipaddress是数据库服务器ip,us ...

  9. Linux 下的 Docker 安装与使用

    一.安装与配置 1.安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里云镜像源 sudo yum ...

  10. iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法

    http://blog.csdn.net/hitwhylz/article/details/39518463