536ma 发表于 2015-08-10 15:56

Linux 判定可执行文件或者可执行脚本

Linux的file命令判定文件的类型,例如 file cg1
cg1:                     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
就可以判定这样文件是可执行文件,另外 ls -l cg1
-rwxrwxr-x. 1 xi xi 5160 7月17 16:21 cg1像这样的文件就可以通过文件x属性判定是可执行文件,我想问一下file executable 的判定 与 ls -l 查看x属性判定,哪一个更详细更准确确定文件是可执行文件??

MMMIX 发表于 2015-08-10 16:18

回复 1# 536ma


    file 是根据文件内容判断(猜测), ls 是根据文件属性. 这两个的结果哪个都不是 100% 可靠.

536ma 发表于 2015-08-10 17:01

回复 2# MMMIX

你说的很对。file是通过对文件类型的初判,然后又通过检测 magic file 规则来判定,觉得这个比 ls -l 好一点。但是在判定过程中发现不是很可靠,想判定某个目录中可执行文件文件或者脚本不是100%可靠,请问您有可靠的办法来判定可执行文件或者脚本?
   

MMMIX 发表于 2015-08-10 17:34

回复 3# 536ma


    关键看你拿判定的结果干啥. 若是要执行它, 只要判定下对应的路径为普通文件并且具有可执行权限, 然后直接执行就行了.

536ma 发表于 2015-08-10 20:53

MMMIX 发表于 2015-08-10 17:34 static/image/common/back.gif
回复 3# 536ma




我想判定linux根目录的所有可执行文件,然后对可执行文件进行拦截控制。我应该怎么判定和搜集可执行程序的名单? 但是像你说的普通文件,还具有可执行权限。例如普通的脚本文件,如果我按照你说的办法去做,就会把它漏掉。如: sh01.sh 文件属性是 rw-rw-rw- sh sh01.sh仍然可以执行, 求大神指导?

MMMIX 发表于 2015-08-10 21:02

回复 5# 536ma


    直接用沙盒(sandbox)吧.

536ma 发表于 2015-08-11 08:49

MMMIX 发表于 2015-08-10 21:02 static/image/common/back.gif
回复 5# 536ma




有没有相关的关于sanbox的实现案例,大神求教?

536ma 发表于 2015-08-11 13:44

回复 6# MMMIX

我查了相关的资料,关于轻量级的SetUid中的Sandbox,但是对于具体的实现还是有点不明白,能否给指点一下?{:yxh17:}

   

MMMIX 发表于 2015-08-11 18:06

回复 8# 536ma


    你是要自己实现沙盒? 还是在其之上添加额外的功能?

536ma 发表于 2015-08-11 18:19

回复 9# MMMIX


   恩,就是想实现对可疑程序的判定? 本来想用白名单机制去判定,但是可执行程序白名单的搜集数据太大,内核空间有限难实现;听你说沙盘刚好有这个功能 ,如果有例子参考的话更好?没有的话给点思路?
页: [1] 2
查看完整版本: Linux 判定可执行文件或者可执行脚本