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、测试 文件 的其他文件权限位 ,

  • 相关阅读:
    我爱java系列之---【微服务间的认证—Feign拦截器】
    我爱java系列之---【设置权限的三种解决方案】
    581. Shortest Unsorted Continuous Subarray
    129. Sum Root to Leaf Numbers
    513. Find Bottom Left Tree Value
    515. Find Largest Value in Each Tree Row
    155. Min Stack max stack Maxpop O(1) 操作
    painting house
    Minimum Adjustment Cost
    k Sum
  • 原文地址:https://www.cnblogs.com/wowk/p/3108701.html
Copyright © 2011-2022 走看看