zoukankan      html  css  js  c++  java
  • 第四章:文件的访问权限

    文件的访问权限有9位  :  -xxx-xxx-xxx--

    从左到右分别是  ----文件所有者权限---文件所在组用户权限---其他用户权限----

    权限:xxx    三个位分别为  -读-写-执行- 

       当某位为1时,表示有权限,为0 时,则表示无权限

       例:-rwxr-xr-x 

        文件所有者权限为 : rwx (读  写  执行)

        文件所在组用户权限:r-x (读  执行)

        其他用户权限:r-x (执行)

    文件的权限存放在  struct stat 结构中 的 st_mode 字段中。

    可以用以下的的常量来测试用户的权限

    文件所有者  :S_IRUSR  S_IWUSR  S_IXUSR

    文件组所有者 :S_IRGRP  S_IWGRP  S_IXGRP

    其他用户   :S_IROTH  S_IWOTH  S_IXOTH

    对一个目录下的文件访问的时候,首先要对该目录具有相应的访问权限,然后

    才能访问目录下的文件。

    例如  : 访问  /usr/include/stdio.h  文件

          首先要对 usr  和  include 目录具有执行权限 , 然后对stdio.h具有访问权限

          这样才能访问stdio.h文件

    文件的权限可以用 chmod  命令 或 chmod() 函数更改

          例如:chmod  700  /usr/include/stdio.h

          这样  仅仅文件拥有者对该文件有 完全的访问权限 , 而其他用户对该文件无

          任何访问权限

    进程每次打开、创建  或 删除一个文件的时候,内核都会进行权限位的测试,这种测试

    可能涉及文件的所有者 、进程的有效ID 以及 进程的附加组ID

    测试步骤如下:

      1、如果用户ID 是0 , 则可以访问 (0 是超级用户的用户ID)

      2、如果进程的有效用户ID 等于 文件的所有者ID ,则允许以文件被设置的权限位访问,

        如果文件的权限位设置 不有允许用户 进行某些访问, 那么就拒绝

      3、如果进程的有效组ID 等于 文件的组ID , 则 测试  文件的组权限  。如果不允许访问则

        拒绝

      4、测试 文件 的其他文件权限位 ,

  • 相关阅读:
    POJ-图论-最短路模板(邻接矩阵)
    POJ-图论-并查集模板
    POJ-排序-归并排序与逆序对
    【题目自解】北京大学2018计算机学科夏令营上机考试
    【算法总结】图论-拓扑排序
    【算法总结】图论-最短路径
    【算法总结】图论-最小生成树
    【算法总结】图论-并查集
    iOS程序的生命周期
    6款好用的Python IDE
  • 原文地址:https://www.cnblogs.com/wowk/p/3108701.html
Copyright © 2011-2022 走看看