• 对用户ID、组ID、附属组ID、有效、实际、设置用户、设置组ID等的理解


    1、什么是用户ID、组ID、附属组ID?

    (1)用户ID: 就是用户的一个身份标识,操作系统通过用户ID来知道用户是谁。
    (2)组ID: 一个用户不仅有一个用户ID,他还属于一个组(或者多个组),设置组ID的目的是在组间可以共享资源,方便用户组间合作,共同开发同一个项目。
    (3)附属组ID:一个用户可能不止参与一个项目 ,因此一个用户可以属于多个组。区分组ID和附属组ID的方式是:组ID指的是创建用户的时候分配的ID号。附属组ID则是一个用户除此之外的所属组的ID号。

    2、与一个进程有关的ID有多少个?

    至少6个。实际用户ID、实际组ID、有效用户ID、有效组ID、附属组ID、设置用户ID、设置组ID。

    用户登录到一个系统上后,其实这也是一个进程。这个用户再运行程序什么的都是由这个进程fork出去的进程。

    3、什么实际用户ID、实际组ID?

    有效用户ID和有效组ID指的是当前是谁在登录在系统上,他所属于的组是什么。这两个ID是在登录时获取到的。一般情况下在登录期间这两个ID是不会发生改变的。

    4、什么是有效用户ID、有效组ID?

    有效用户ID和有效组ID通常就是实际用户ID和实际组ID。当执行一个文件的时候进程的有效用户ID和有效组ID以及附属组ID决定当前进程的文件访问权限。

    进程才涉及到有效用户ID和有效组ID。当执行一个程序文件时,有效用户ID和有效组ID通常就是实际用户ID和实际组ID。

    但是,可以在文件模式字中设置一个特殊标志,使得当执行此程序文件时,有效用户ID和有效组ID不再是实际用户ID和实际组ID,而变成文件所有者用户ID和文件所有者组ID。

    5、什么是保存的设置用户ID、保存的设置组ID?

    在程序开始执行的时候,要将进程的有效用户ID和有效组ID保存住。这时保存的有效用户ID和有效组ID的副本称为设置用户ID和设置组ID。(后面进程的有效用户ID和有效组ID可能会发生变化。)

    6、什么是设置用户ID位,什么是设置组ID位?

    每一个文件都有所有者和所有者ID,文件的这两个属性由stat结构中的st_uid和st_gid 指定。 当执行一个程序文件时,一般来说,进程的有效用户ID就是实际用户ID,有效组ID就是实际组ID。但是可以在文件模式字中设置一个特殊标志位,设置玩这个标志后,当执行这个程序时,有效用户ID将会被设置为文件所有者ID。与此类似的还有一个文件所属组ID。在文件模式字中,这两位被称为设置用户ID位,设置组ID位。

    在执行程序文件时,是否打开设置用户ID 和设置组ID 开关要特别小心,因为如果文件的所有者是超级用户的话,那么该进程将会拥有超级用户权限。

    是不是说只有文件的所有者才可以设置文件的设置组ID位设置用户ID位

  • 相关阅读:
    Oracle性能调整ASH,AWR,ADDM
    子网掩码、子网划分详解
    10046事件sql_trace跟踪
    find详解
    date详解
    touch详解
    [转]lsof详解
    iftop、ifstat详解
    iotop详解
    关于Unity的入门游戏飞机大战的开发(上)
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764159.html
Copyright © 2020-2023  润新知