一些特殊的执行程序若被设置了set_uid位等权限,,将会给系统带来很大的风险,
通过以下方法可以很快的找出系统中,
首先需要,在系统处于“干净”状态(没有设置不当set位权限的文件)时,建立合法
suid/sgid文件列表,作为是否有新增可以suid文件的比较依据。
[root@server253~]#find/-typef-perm+6000>/etc/sfilelist[root@server253~]#chmod600/etc/sfilelist然后,在编写一个chksfile脚本文件,与sfilelist比较,输出新增的带suid/sgid属性的文件
[$?-ne0]&&ls-lh$idone[root@server253~]#chmod700/usr/sbin/chksfile其中,grep命令的“-F”选项表示在查找时将一整行内容作为字符串进行匹配;find
命令添加的“-perm +6000” 选项,表示查找设置了set-uid(权限数为4)或者set-gid(权限数为2)位的文件。
测试:
执行chksfile脚本,检查是否有新增suid/sgid文件。
[root@server253~]#chmod700/usr/sbin/chksfile ##脚本文件授权[root@server253~]#cp/bin/touch/bin/mytouch ##建立测试的程序文件[root@server253~]#chmod4755/bin/mytouch##添加suid权限[root@server253~]#chksfile##执行脚本程序,输出测试结果-rwsr-xr-x1rootroot39K07-2212:22/bin/mytouch
人生好如足球赛,看自家总是无奈,对人家总是优待,