且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

 文件权限和注册表权限的另类使用

更新时间:2022-02-15 20:32:03

在一个大型的网络,出于安全的考虑,网络管理员可能不允许用户随意修改自己的IP地址、不允许用户使用拨号连接,初一看好像没有什么好办法,前段时间刚好有客户提出了不想让用户拨号的要求(技术部门无法对电话交换机无法进行管理),于是想了想,今天作一个总结。

客户使用了Windows 2000的AD结构,而且Clinet基本都是Win2K Pro,分区类型有NTFS和FAT,本来如果都是用的NTFS的话,对一些DLL文件进行权限设置也可以满足,我这里选择的是raschap.dll,当然,类似的DLL也有一些(俺也懒得整理了),在CMD窗口执行下面的命令:
cacls %systemroot%\system32\raschap.dll /e /d everyone

然后重新启动机器,你会发现你已经建立好的拨号连接都看不到了,而且在你新建连接的时候会出错,报告权限不足。如果需要用的时候,把该dll的权限改回来即可(需要重新启动机器喔)
cacls %systemroot%\system32\raschap.dll /e /g everyone:r

由于客户使用的是AD结构,设置权限可以在组策略里面来实现,把下面内容加到你的安全模板文件的"File Security"段,然后应用该模板即可。
"%systemroot%\system32\raschap.dll",1,"D:PAR(D;OICI;FA;;;WD)"

当然,在这里出现了一个这样的问题,如果磁盘是FAT或者FAT32就无法应用NTFS权限来解决了,我们就只能在注册表里面想办法了,打开你的Regedt32,转到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\
Parameters\Interfaces

然后在菜单上的“安全”-“权限”
uncheck “允许继承...”,并设置为Everyone只读,一切OK;
如果需要应用在AD中我们可以在组策略的inf文件中的“Registry Keys”段里添加以下一行
"machine\system\currentcontrolset\services\tcpip\parameters\interfaces", 0,"D:AR(A;CI;KR;;;WD)"

设置了注册表的权限后,系统无法从 DHCP 服务器上获取IP,无法自己修改IP,很多与网络相关的修改都无法成功,当然,如果你公司内部使用了DHCP就会出问题喔...

其实我今天说的这2个都只是一些方法而已(这2种只是比较另类的方法而已),还有很多种方法,只要你自己愿意去想愿意去试,还可以找到的,也许你认为用户可以自己去修改这些权限从而绕过限制,想一想,如果你不告诉用户修改的办法,你自己去多找一些dll文件,多找一些注册表项,用户要找到这些头会大得不行的,你说呢?

授人与鱼不如授人与渔啊,呵呵,自己继续研究吧...