zoukankan      html  css  js  c++  java
  • 设置用户id和设置组id

    实际用户id和实际组id:这两个字段在登录时取自口令文件中的登录项,在一个登录会话间这两个值不会改变

    有效用户id和有效组id:这两个字段决定了对文件的访问权限

    设置用户id和设置组id:同实际用户id和有效用户id不同的是,设置用户id是与文件绑定在一起的,而不是与用户绑定在一起

               对于一个程序文件,可以在文件模式字中设置一个特殊标志,其含义是“当执行此文件时,将用户的有效用户id设置为文件所有者的用户id”

               类似的是可以在文件模式字中设置另一个特殊标志,其含义是“当执行析此文件时,将用户的有效用户组id设置为文件组所有者的id”

               举例:ll  /usr/bin/passwd  -rwsr-xr-x 1 root root ................

               在某个有效用户非root的shell下执行passwd命令,shell会fork出一个子进程,此时子进程的有效用户id还是父进程的有效用户id,然后在子进程中exec程序/usr/bin/passwd

               exec会根据/usr/bin/passwd的SUID位(设置用户id位)将进程的有效用户id设置为该文件的所有这root,从而获得/etc/shadow的读写权限,exec退出后有效用户id变回

  • 相关阅读:
    FFT学习笔记
    FWT(Fast Walsh Transformation)快速沃尔什变换学习笔记
    GMS2游戏开发学习历程
    [BZOJ3238][AHOI2013]差异 [后缀数组+单调栈]
    Trie树简单讲解
    自己的题
    小技巧
    编程注意事项
    构造方法
    递归
  • 原文地址:https://www.cnblogs.com/buptlyn/p/3721717.html
Copyright © 2011-2022 走看看