首页 > 试题广场 >

Linux系统中某个可执行文件属于root并且有setid,

[单选题]
Linux系统中某个可执行文件属于root并且有setid,当一个普通用户 mike运行这个程序时,产生的进程的有效用户和实际用户分别是?
  • root mike
  • root root
  • mike root
  • mike mike
  • deamon mike
  • mike deamon
推荐
A
setuid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
因此当程序设置了setid权限位时,普通用户会临时变成root权限,但实际用户任然是原来的mike。

调用setid使进程成长为一个会话组长,setid调用成功后,进程成为新的会话组长和进程组长,并与原来的登陆会话和进程组脱离,由于会话过程对控制终端的独占性,进程同时与控制终端脱离。
这也是在创建daemon程序时,经常用到的一个步骤。
编辑于 2015-02-09 15:47:24 回复(1)
setuid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
因此当程序设置了setid权限位时,普通用户会临时变成root权限,但实际用户任然是原来的mike
发表于 2017-06-08 21:09:41 回复(1)
与一个进程相关联的用户 ID 有如下几种:
实际用户ID
实际组ID
我们实际是谁(即执行程序的用户)
有效用户ID
有效组ID
附加组ID
用于文件存取许可权检查
保存设置-用户-ID
保存设置-组-ID
由exec函数保存

  • n 通常情况下,有效用户 ID 等于实际用户 ID ,有效组 ID 等于实际组 ID。
  • n 文件权限中有一个特殊标志,定义为“ 当执行此文件时 , 将进程的有效用户 ID 设置为文件的所有者 ”,与此类似,组 ID 也有类似的情况。这两个标志位称为:“设置用户 ID ”和“设置组 ID ”,这两位都包含在 stat 信息中的 st_mode 中,可用 S_ISUID,S_ISGID 测试。
  • n 例如 passwd 命令,不论执行该命令的用户是谁都会具有修改 / etc / passwd 文件(由超级用户创建)的权限。
发表于 2017-03-24 23:02:38 回复(0)
setuid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
因此当程序设置了setid权限位时,普通用户会临时变成root权限,但实际用户任然是原来的mike
发表于 2017-06-25 11:35:19 回复(0)

当一个可执行文件属于root用户并且具有setuid权限时,这意味着任何以普通用户身份运行该程序的用户实际上会拥有root用户的权限来执行该程序。在这种情况下,产生的进程的有效用户(effective user)将会是root,因为该进程具有setuid权限,允许其以文件所有者(在这里是root)的权限来运行。而实际用户(real user)则是启动该程序的普通用户,即mike。

所以,当普通用户mike运行这个可执行文件时,产生的进程的有效用户和实际用户分别是root和mike。

发表于 2023-11-07 14:05:17 回复(0)
setuid:把当前用户A的uid设置为用户B,从而A可以执行B的权限才能做的事情
发表于 2024-01-14 17:15:46 回复(0)
setid可以使普通用户以root用户的角色运行只有root账号才能运行的的程序或命令,进程的有效用户仍为 root,而实际用户是这个普通用户
发表于 2023-05-10 16:44:48 回复(0)
setuid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
因此当程序设置了setid权限位时,普通用户会临时变成root权限,但实际用户任然是原来的mike
发表于 2020-05-24 20:33:58 回复(0)
Daemon程序,又称为守护进程
发表于 2020-01-18 16:58:37 回复(0)