分享
 
 
 

UNIX系统编程常用库函数说明 (4)

王朝system·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

编译,安装SUID/SGID程序时应按下面的方法

(1)确保所有的SUID(SGID)程序是对于小组和其他用户都是不可写的,存取

权限的限制低于4755(2755)将带来麻烦.只能更严格.4111(2111)将使

其他人无法寻找程序中的安全漏洞.

(2)警惕外来的编码和make/install方法

. 某些make/install方法不加选择地建立SUID/SGID程序.

. 检查违背上述指导原则的SUID/SGID许可的编码.

. 检查makefile文件中可能建立SUID/SGID文件的命令.

4.root程序的设计

有若干个子程序可以从有效UID为0的进程中调用.许多前面提到的子程序,

当从root进程中调用时,将完成和原来不同的处理.主要是忽略了许可权限的检

查.

由root用户运行的程序当然是root进程(SUID除外),因有效UID用于确定文

件的存取权限,所以从具有root的程序中,调用fork()产生的进程,也是root进程.

(1)setuid():从root进程调用setuid()时,其处理有所不同,setuid()将把有

效的和实际的UID都置为指定的值.这个值可以是任何整型数.而对非root

进程则仅能以实际UID或本进程原来有效的UID为变量值调用setuid().

(2)setgid():在系统进程中调用setgid()时,与setuid()类似,将实际和有效

的GID都改变成其参数指定的值.

* 调用以上两个子程序时,应当注意下面几点:

. 调用一次setuid()(setgid())将同时设置有效和实际UID(GID),独立分

别设置有效或实际UID(GID)固然很好,但无法做到这点.

. Setuid()(setgid())可将有效和实际UID(GID)设置成任何整型数,其数

值不必一定与/etc/passwd(/etc/group)中用户(小组)相关联.

. 一旦程序以一个用户的UID了setuid(),该程序就不再做为root运行,也

不可能再获root特权.

(3)chown():当root进程运行chown()时,chown()将不删除文件的SUID和/或

SGID许可,但当非root进程运行chown()时,chown()将取消文件的SUID和/

或SGID许可.

(4)chroot():改变进程对根目录的概念,调用chroot()后,进程就不能把当前

工作目录改变到新的根目录以上的任一目录,所有以/开始的路径搜索,都

从新的根目录开始.

(5)mknod():用于建立一个文件,类似于creat(),差别是mknod()不返回所打开

文件的文件描述符,并且能建立任何类型的文件(普通文件,特殊文件,目录

文件).若从非root进程调用mknod()将执行失败,只有建立FIFO特别文件

(有名管道文件)时例外,其它任何情况下,必须从root进程调用mknod().由

于creat()仅能建立普通文件,mknod()是建立目录文件的唯一途径,因而仅

有root能建立目录,这就是为什么mkdir命令具有SUID许可并属root所有.

一般不从程序中调用mknod().通常用/etc/mknod命令建立特别设备文件而

这些文件一般不能在使用着时建立和删除,mkdir命令用于建立目录.当用

mknod()建立特别文件时,应当注意确从所建的特别文件不允许存取内存,

磁盘,终端和其它设备.

(6)unlink():用于删除文件.参数是要删除文件的路径名指针.当指定了目录

时,必须从root进程调用unlink(),这是必须从root进程调用unlink()的唯

一情况,这就是为什么rmdir命令具有root的SGID许可的原因.

(7)mount(),umount():由root进程调用,分别用于安装和拆卸文件系统.这两

个子程序也被mount和umount命令调用,其参数基本和命令的参数相同.调

用mount(),需要给出一个特别文件和一个目录的指针,特别文件上的文件

系统就将安装在该目录下,调用时还要给出一个标识选项,指定被安装的文

件系统要被读/写(0)还是仅读(1).umount()的参数是要一个要拆卸的特别

文件的指针.

本文由isbase成员编译或原创,如要转载请保持文章的完整性

欢迎访问我们的站点http://www.isbase.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有