抵御计算机病毒的最终武器是权限控制。而当前的访问权限控制的粒度是精确到个人:A用户运行的程序P1具有A的权限,P1又可把权限分发给其他代码。这个过程中,事实上假定了用户运行P1之前,他信任P1,并且由此信任P1调用的代码。
这个假定显然是不成立的,所以计算机病毒不能够被有效杜绝。用户对其运行的程序进行验证,并且赋予该程序不同的权限,以及阻止给程序分发权限或者对分发对象进行如此验证,可以有效防止计算病毒的传播和发作。
[+/-] |
为什么无法完全杜绝计算机病毒? |
抵御计算机病毒的最终武器是权限控制。而当前的访问权限控制的粒度是精确到个人:A用户运行的程序P1具有A的权限,P1又可把权限分发给其他代码。这个过程中,事实上假定了用户运行P1之前,他信任P1,并且由此信任P1调用的代码。
这个假定显然是不成立的,所以计算机病毒不能够被有效杜绝。用户对其运行的程序进行验证,并且赋予该程序不同的权限,以及阻止给程序分发权限或者对分发对象进行如此验证,可以有效防止计算病毒的传播和发作。
[+/-] |
紧急:站长的一次误删事件 |
今天,不小心把NTFS卷内容给误删了。站长本想清了在NTFS根目录下的.Trash-xxx(Gnome回收站目录)下的内容,结果输了rm -rf *,当察觉是中断时已经把主要的一个数据文件夹删除了。发现误删以后最重要的是停止对那个卷的写访问(不过站长还是手痒把.Trash-xxx下的内容)。
接下来,使用反删除工具给予恢复。站长试了windows下的一串反删除工具,居然无果。网上帖子说使用ntfsundelete,这是Linux下NTFS-progs包的一个工具。如果使用其他的文件系统,可以尝试xxxx-progs中的类似工具(如果有的化)。
最终的结果是ntfsundelete和前面所有的windows下的反删除工具一样,没有找到那个文件夹。最后的解决方案,只能够把半年前备份的光盘拿出来恢复数据。
数据备份是对付类似情况的最终手段。不过数据备份的缺点在于不能够对最近的数据进行恢复(除非是实时备份,实现代价太大)。而用户最近访问的数据很可能是用户正要使用的,相对最重要的数据。(数据访问的局部性现象)
最好的应对方案是基于特定设计的文件系统。这样的文件系统可以设计成:
提供export和import,方便备份
删除的数据区按照时间先后循环使用。即如不是用户指定需要完全删除则进入一个free blocks的队列。
COW
提供事务处理。如删除一个软件,应该是该软件相关的文件的删除成为一个事务。或者删除文件夹和删除文件夹下所有文件成为一个事务。(相应的export和import也应该按照事务来运作)
[+/-] |
Fedora Core 7 Live USB试用记 |
站长对于Fedora Core(一个Linux的RedHat社区发行版)系列一向认为使用了很新的特性却很不稳定。对其内核配置默认只支持Linux最慢的日志文件系统EXT3[*],不支持NTFS等文件系统颇有微词。
这次发布的Fedora Core 7改变了站长的看法。站长按照FC7发布注释,用RedHat提供脚本,可把Live CD的iso镜像中的文件拷到U盘,再通过syslinux写引导记录,从而生成一个LiveUSB。可能有的朋友不是很熟悉所谓的LiveCD,LiveCD有点类似GHOST恢复用的DOS启动光盘--它是从光盘启动的,不需要安装就可使用Linux,一般都带有图形界面的。LiveUSB是从U盘启动的Linux。具体的做法如下(需要你手头有一个Linux系统):
下载Fedora的Live CD(i386)。也就是iso文件命名中带有Live字样的,不要下了DVD的或者是其他的iso镜像(他们的角色类似windows安装盘)。站长使用的为Fedora-7-Live-i686.iso
在rpmfind.net之类或者Fedora的FTP中的开发分支中找到类似livecd-tools-007-1.fc7.noarch.rpm的包。
检查手头中的Linux中名为syslinux的软件包的版本,升级到最新的版本(如3.36版)
切换到Linux下,插上U盘,但是不要挂载(如果hal帮你自动挂载了的话就卸载)
解压缩刚才的livecd-tools的rpm包,解压以后的文件夹大概名为usr,进入到这个usr下的bin文件夹下。
以root身份,输入类似./livecd-iso-to-disk /path/to/live.iso /dev/sdb1 这里注意的是发行注释中的命令印错为livecd-iso-to-stick
插着U盘,重启系统,在BIOS中调整hard disk的顺序,把U盘的顺序提前
看到热气球的背景了没?Congratulations!
初看界面很清爽。桌面上有一个安装到硬盘的图标,说明这张LiveCD还可以当作安装盘来使用。
一般的LiveCD不会支持多语言,令人意外的是,FC7的LiveCD集成了,在登录屏幕左下角选Language即可。这里中文支持两种编码,一种是GB10830,一种是UTF8,一般选UTF8即可。
加入软件包经过挑选,比如没有mono相关的,java相关的。这样,GNOME的tomboy便笺和Open Office.org(OOO)便没有集成到LiveCD中。OOO被Abiword和gnumeric替代。这里不得不说一下Abiword,站长没找到设置默认字体的地方,系统默认设置的是Times New Rome,结果有中文的地方全部变成了“句号”。需要手动选择文鼎宋体才能显示。相比OOO,Abiword的界面更加流畅点。这是因为OOO部分基于Java实现,流畅度就打了个折扣。另外也早成了打开大体积文件时,OOO的打开明显缓慢(相比MS Office)。
另外,LiveCD中还集成了compiz这个3D窗口管理器,默认关闭。在Intel的855GM显卡的本本上可以使用。在另一台使用Geforce 6200Go的本本上启动失败了。这是因为Intel的显卡驱动开放源代码,被集成到本LiveCD中,而集成Nvidia的驱动是有法律上的问题。
LiveCD的内核能够支持多种日志文件系统,不像RedHat的一贯做法。ntfs-3g(ntfs分区完全读写支持)的加入,使得这张LiveCD还可以扮演Windows的救援修复盘的角色。
最后提到的一点是,发行注释中也提到了:由于使用新的IDE驱动,本地硬盘变成了/dev/sdX,而不是传统的/dev/hdX。
[*]除了ext3,站长觉得XFS也是非常慢的。站长的原gentoo使用XFS时删除/usr/portage目录大概要非常吃惊的十几分钟,现在使用reiserfs 3.6(启用tail),相同的操作不过几十秒。
点击下载热气球壁纸: