摘要: 8.11 解释器文件 这种文件是文本文件,其起始行的形式是: #! pathname [optional- a rg u m e nt] 在惊叹号和pathname之间的空格是可任选的。最常见的是以下列行开始: #!/bin/sh pathname通常是个绝对路径名,对它不进行什么特殊的处理(不使用PAT H进行路径搜索)。对这种文件的识别是由内核作为exec系统调用处理的一部分来完成的。内核使调... 阅读全文
posted @ 2011-10-22 20:33 郭—大—侠 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 8.11 更改用户ID和组ID 在UNIX系统中,特权是基于用户和组ID的,当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们就需要更换自己的用户ID或组ID。 一般而言,在设计应用程序的时候,我们总是试图使用最小特权(lease privilege)模型。 可以用setuid函数设置实际用户ID和有效用户ID。与此类似,可以用s e t g i d函数设置实际组... 阅读全文
posted @ 2011-10-22 20:32 郭—大—侠 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 8.10 exec函数 用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其m a i n函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用另一个新程序替换了当前进程的正文、数据、堆和栈段。 有六种不同的exec函数可供使用,它们常常被统称为exec函数。这些exec... 阅读全文
posted @ 2011-10-22 20:30 郭—大—侠 阅读(257) 评论(0) 推荐(0) 编辑