zoukankan      html  css  js  c++  java
  • 第四章:用户ID和组ID

    用户 ID  和  组 ID 

       注意:以下的概念通常是跟进程相关的

      文件所有者ID 和 文件所有者组ID

            这两个id可通过获取文件stat来获取

            struct  stat  结构中的  st_uid  和  st_gid   成员真好就对应这两个id

      实际用户ID 和 实际组ID   :

            int  getuid();    获取用户ID

            int  getgid();  获取实际组ID

            这俩ID 指出执行当前进程的是谁 

      有效用户ID 、 有效用户组ID   和    附加组ID:

            int  geteuid();  获取有效用户ID

            int  getegid();  获取有效组ID

             用于文件访问权限的检查。

            通常,进程的有效用户ID 就是 进程的 实际用户ID

            有效组ID 就是 实际组ID

            在用户模式字中 (就是  struct stat 结构中的st_mode成员 ),有 两个位 : 设置用户ID位   和   设置用户组位

            如果这两个位设置后 , 执行可执行文件的时候  进程的有效用户 ID  就会被设置成  可执行文件的 所有者的用户ID

            进程的有效组ID 会被设置成  可执行文件的 所有者的组ID

            这样进程就会以  可执行文件所属用户 所 拥有的 权限 运行

            设置用户ID 位  和 设置用户组 ID  位   可以用  S_ISUID   和 S_ISGID   这两个 常量测试

      

      保存的设置用户ID  和 保存的设置组ID

            当进程的有效用户ID   和  有效用户组ID 改变的时候,  保存的设置用户ID   和  保存的设置组ID   这俩  变量会保存  有效ID 的 一个副本

            当调用  exec  函数的时候, 会利用  这两变量来恢复进程的有效ID

            

            

        

      

      

  • 相关阅读:
    私有属性的另类访问方式
    获取类所有属性和查看帮助文档
    类的私有属性及私方法(请注意属性的传值方式)
    类的私有属性及私方法
    类的定义
    怎么区分类变量和实例变量?
    面向对象编程案例04--访问控制
    面向对象编程案例03---继承之高级部分
    python 面向对象编程案例01
    静态方法
  • 原文地址:https://www.cnblogs.com/wowk/p/3108515.html
Copyright © 2011-2022 走看看