现在不少软件,如WinDIY、MyIM等,每次运行后都会自动在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加该软件的字符串值,目的是为了在系统启动时运行该软件。但很多时候这种功能反倒让我们感到苦恼,手动修改的话要每次运行软件后才能进行修改,十分麻烦。
其实只要修改当前用户对HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run键的控制权限,只设置为“读取”,就可以防止程序的“自作主张”。方法是运行注册表编辑器(windows 2000用regedt32),右击HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,选择“权限→高级”(此处是针对“从父系继承权限”功能而无法直接进行修改),在“权限”控制页中选择需要修改的用户或用户组(一般为Administrators),然后单击“编辑”按钮,把Administrators用户对该注册表键的控制权限改为只读取。因为我们运行的程序都是以当前用户权限来运行的,所以程序对该注册表键也只是具有“读取”权限而已。
此修改还可以有效预防一些木马、病毒对注册表启动项的而已修改,毕竟现在我们大多数用户都是以Administrator来登录系统嘛。利用此原理,我们还可以对系统的一些文件夹进行权限限制,比如通过禁止对%systemroot%\prefetch文件夹的“写入”权限来预防系统的预读文件过多而造成系统启动慢的问题。
(出处:http://www.sheup.com)