2015-2-10 Linux 知识

   1.Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是____?

  • A root mike
  • B root rooy
  • C mike root
  • D mike mike
  • E deamon mike
  • F mike deamon

A

setuid的用途是允许普通用户完成一些任务,而完成这些任务需要特权和通常被禁止的访问权限。

在实际应用中,通常用来允许普通用户以root用户的角色运行只有root帐号才能运行的程序或命令。

当一个具有setid访问模式的文件被执行时,进程的有效UID将会变成文件所有者的UID,并使用该UID的访问权限来访问其他的文件和资源。

由于可执行文件属于root,因此当程序设置了setid权限位时,普通用户会临时变成root权限,但实际用户任然是原来的mike。

 

   2. UNIX系统中进程由三部分组成:进程控制块,正文段和数据段。这意味着一个程序的正文与数据可以是分开的,这种分开的目的是为了?

  • A 可共享正文
  • B 可共享数据
  • C 可重入
  • D 方便编程
  • E 以上全部

ABC

通常,一个进程由三个部分组成:进程控制块PCB、数据和程序。在UNIX中,一个进程也由三个部分组成:进程控制块、数据段和共享正文段,并有其自身的不同含义。

进程运行时用到的数据以及工作区,构成了一个进程的数据段。要注意的是,如果进程执行的程序是不能被共享的,那么也把它归入到数据段中。

为了管理好进程的共享正文段,UNIX在内存专门开辟了一个text结构区域,形成正文段表text[ ].

因此,划分进程为进程控制块、正文段、数据段可以实现共享正文,共享数据和可重入。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。