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变回

  • 相关阅读:
    iOS 自带系统语音识别
    对iOS10新增Api的详细探究
    iOS 技术前瞻
    iOS 之 byte NSString NSData类型转换
    iOS 文本属性
    基本力
    xamarin mac 基础知识 之 界面
    xamarin mac 之 基础知识
    xamarin mac 之 资料
    I方法 thinkphp
  • 原文地址:https://www.cnblogs.com/buptlyn/p/3721717.html
Copyright © 2011-2022 走看看