分享
 
 
 

Setuid和Solaris安全

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在Solaris中,文件除了读、写、执行权限外,还有一些特殊权限。Setuid和setgid是其中的一类。它与Solaris系统的安全关系紧密。 Setuid是指设置程序的有效的执行用户身份(uid)为该文件的主人,而不是调用该程序的进程的uid。Setgid与之类似。Setuid和setgid用1s-1显示出来为s权限,存在于主人和属组的执行权限的位置上。

这种权限的设置方法如下:

只设setuid:chmod 4xxx filename(xxx为一般读、写、执行权限)

只设setgid:chmod 2xxx filename

同时设setuid 和setgid:chmod 6xxx filename

取消两种权限:chmod 0xxx filename

这种权限怎么用? 举个例子来说,假如某一命令(程序)的主人是root用户,并且该文件有setuid属性,但是该文件的读、写、执行权限的属性表明普通用户user1可以执行该命令,那么就表示:当user1执行该命令时,他具有root的执行身份,并获得相应的权限。一旦该命令执行完成,root身份也随之消失。

为什么系统中需要有这样的权限呢?请执行以下操作:

1 $1s-1?*etc/shadow /bin/passwd

-r-sr-sr-x 3 root sys 99792 1999 2月12 /bin/passwd

-r-------- 1 root sys 261 1月3 13:12 /etc/shadow

/etc/shadow文件由于存有用户的加密口令信息,对系统的安全至关重要,因此权限很严,只有root凭其对系统的至高无上的权限才得以对/etc/shadow可读可写。但是系统必须允许普通用户也能修改自己的口令。要让他们对/etc/shadow可写,又不能可读,而且可写又不能允许他们改别人的口令,怎么办?系统就采取这样一个办法:做一个程序,也就是/bin/passwd,通过它可以在不显示文件内容的情况下直接修改/etc/shadow文件,可这个程序怎么能有这样的权限?因为系统赋予它setuid权限,而且它属于root.这样,用户在使用/bin/passwd改口令时就有root权限,由于/bin/passwd命令本身功能的局限性,用户并不能用它做更多的不利于系统安全的事。

2?用普通用户身份修改口令

$ passwd

Enter login password:****

New password:******??????

Re-enter new password:******??????

Passwd (SYSTEM):passwd successfully changed for xxx. 可以成功。

3 用超级用户修改/bin/passwd

# chmod 0555 /bin/passwd

4 再重复2,是否还成功?当然不。

5?把/bin/passwd的权限恢复原状。

# chmod 6555 /bin/passwd

对此可以打一个生动的比喻:有一个绝密机关,不得已必须有一些不能见这些秘密的人进来做一些事情。于是授权一些特殊的"车辆"(没有窗户,门紧闭,所以看不到外面。只有一个小洞允许乘坐的人伸出一只手臂),带着所乘坐的人开到要去的地方,允许它办完事情马上带他出来。这样是不是很安全?不一定。如果"车辆"没有经过精挑细选而是有很多"门窗",那系统可就危险了。 这种安全威胁在Solaris中也有可能出现。

比如做一下下面这个实验:

6?$ vi/etc/shadow

/etc/shadow: Permission denied.

7?用超级用户身份

# chmod 6555 /bin/vi

# chown root /bin/vi

8?这次再用普通用户身份试一试第6步,有什么结果?这次你能以普通用户身份修改/etc/shadow了!!但是 $ more/etc/shadow仍然不成功,说明在执行/bin/passwd时有超级用户权限,平均仍是普通用户身份。

再来看一下令人不安的情况:

9?用超级用户身份

# chmod 6555 /bin/ksh

# chown root /bin/ksh

10?用普通用户身份

$ ksh

#

发生了什么情况?普通用户不需要root口令就变成了root!!! 好可怕。如果有一个用户曾有一次获得超级用户权限,并通过类似的方式给自己设置了后门(也可能放了一个类似的文件在他自己的家目录中),以后他就可以随时变成超级用户了。

怎么能避免setuid的不安全影响,又利用其方便的地方?这里有几点建议: 1?关键目录应严格控制写权限。比如/,/usr等。 2?对不管是root帐号还是普通用户帐号的保密都有足够的重视。最好不要设置类似于guest、public、test之类公用的容易猜出口令的帐号。 3?对系统中应该具有setuid权限的文件作一列表,定时检查有没有这之外的文件被设置了setuid权限。

下面有一个自己编的小程序与大家分享。 程序功能描述:检查有没有/usr/secu/masterlist文件记录之外的其它文件被设置了setuid权限。 事先要求:在系统调试完成,所有需要安装的软件安装好以后,执行下面命令生成检查对照文件。

#mkdir -p / usr/secu

#find / -perm -4000 -print/usr/secu/masterlist

程序:

cd /tmp

[-f secrcheck] && rm secrcheck

find / -perm -4000 -printsecrcheck

for f in'catsecrcheck'

do grep -w$ f /usr/secu/masterlist/dev/null

if ["$ ?"! = "0"];then

echo $ f is not in list

fi

done

rm secrcheck

在需要对系统做检查时,执行本shell程序。也可以放在定时进程中定时检查。程序由于需要在整个文件系统中做查找操作,需要比较长的时间。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有