体会到UNIX系统的安全性
OK, 我们整天听到的都是:Windows系统是多么的脆弱,多么容易被攻击;UNIX或UNIX-Like系统的安全性是多么的高,几乎就是攻不可破。Windows安全性差我是深有体会,不说别的,从微软不断发布的安全补丁数量就可以可以大概推断出来。但由于没用过UNIX系统,一直无法体会到为什么UNIX从本质上比Windows安全,直到……
有一天我要把dreamhost的一个目录下的所有文件改变读写权限,所以要用上FIND命令,而FIND命令有两个参数,’-exec’和’-exechdir’, 这两个命令干的是一样的活——执行另一条命令。但为什么干同一件事要有两个参数呢?因为根据POSIX规定’-exec’所引发的命令必须和FIND命令开始于同一个目录,所以这就引发了一个安全问题。举个例子,如果我有一个文件passwd放在一个很深的目录里,比如/home/etc/a/b/c/d/e/f/g/h/i/passwd 我要使用这个命令: “find / -name “passwd” -type f -exec rm {} \;” 的话,由于UNIX是个多人操作系统,在find命令找到passwd这个文件前,有可能有人恶意把’e'目录指向另一个目录,这样就把另一个目录下的文件删除,如果被删除的文件是个重要的文件的话,会给系统带来不可预计的后果。’-execdir’命令就是为了解决这个安全问题的,’-execdir’执行时,rm执行的目录就是passwd文件所在的目录,所以就避免了’-exec’产生的问题。
上面絮絮叨叨说了一大堆,可能别人也不知道我想说什么,其实我想说的就是,虽然只有很小的机率才会产生’-exec’的安全问题,但UNIX一样发现了问题并做出了相应的对策,真是让我不服不行啊。
RSS feed for comments on this post · TrackBack URI