摘要:解决无盘工作用户的权限设置,工作站用户目录的保护及修复问题。
目录:
1、权限设置
2、第一个用户目录的设置
3、自动登录网卡及自动生成和分配用户目录
4、用户目录的修复
5、为同一块网卡分配不同的用户目录
正文:
对于Win95无盘工作站的维护问题,在进行正常的权限设置和安装设置好第一个用户目录后,可自编一个程序来
完成。
1、权限设置
用户目录:Win9x系统在使用过程中要不断存取注册表和虚拟内存,有时还会产生一些临时文件,如没有建立、
修改、读写、删除的权限就会报错并要求重启系统。因此对这个目录可不加限制,让用户具有完全控制权。
一般各工作站都可使用同样的映象文件(或启动目录)用同样的用户名登录,在安装时将所有的用户目录统一置于一
个子目录下以方便权限设置。
共享目录:只能给与只读的权力。这个目录被破坏,所有工作站都将不能使用。如果通过程序自动登录网卡号,并将
其写入machines.ini文件中时,要注意开放这个文件的可写权,一旦写好后马上收回。
应用程序目录:可以建立一个应用程序目录,所有的应用程序都安装到这一目录下。该目录设为只读。
应用程序临时文件目录:可以统一放到某一用户目录下,继承用户目录的权限。
用户暂存文件目录:可以在根目录或某一用户目录下建一个用户具有较大存取权限的目录。
下表可作参考:示例8
目录 |
映射为 |
NT中权限
|
Novell中权限 |
Win95sbs(win95 共享目录 ) |
H: |
读取 |
只读 |
Winuser( 用户目录) |
G: |
完全控制 |
C、E、W、R、F、M或S |
Winapp(应用程序目录) |
K: |
读取 |
只读 |
Dosapp(dos 程序目录 ) |
J: |
读取 |
只读 |
Common(共用暂存文件目录) |
L: |
完全控制 |
C、E、W、R、F、M或S |
Wintmp(应用程序临时文件目录) |
T: |
完全控制 |
C、E、W、R、F、M或S |
2、第一个用户目录的设置
一般Win95无盘工作站的配置和用途往往是相同的,因此其它的目录都可以用第一个目录直接拷贝生成。由于各
工作站的注册表相同,它的开始菜单和桌面是相同的,且都指向第一个用户目录,如果我们将这个目录设为只读,且不把它分
配给任何存在的网卡,就可以保护桌面和开始菜单。这样就轻松解决了桌面和开始菜单被使用者(特别是初学者)搞得乱七八
糟的问题。
如果用netsetup.exe程序来拷贝生成工作站的话,则桌面和开始菜单是在该工作站启动后重新生成的,
这样就不能统一管理了。经验证,还是直接拷贝来得快速和方便。
窍门:(我还没有告诉别人的哦!有一电脑公司的技术员问我,为什么你做的无盘Win95网怎么这么省,连一个
子目录都没有?当时我“嘿嘿”了两下)从第一个用户目录拷贝时只要拷system.dat、user.dat、sys
tem.ini、win.ini、command.com足矣,其它文件和子目录全免了,因为注册表反正指向第一个用
户目录的,只要那里有就够了。
这么一来,第一个用户目录就决定了所有工作站的面貌,对它要精耕细作,以后就一劳永逸了。
为了自动生成用户目录编程的需要,目录名的最后三个字符在安装时即定为“000”,安装好必要的应用程序。如
WPS2000、OFFICE2000、AUTOCAD、PHOTOSHOP等,启动这些程序进行必要的初始设置。将
这些软件的临时文件目录指向一个可以读写的目录,其它的默认目录作相应的改动。必要时可以导出注册表,改动后再引入到
注册表中(实际上对以上应用软件的文件位置的设定都可以通过修改注册表完成)。注意不要将文件的位置指向第一个用户目
录,因为以后我们要将其设为只读。我发现AutoCad的临时文件如果指向一个只读的目录,则会出现致命错误而退出。
如果想要在控制面板中不出现“口令”、“系统”、“网络”,(改变这些设置常导致工作站不能启动)可以在本用
户目录下的control.ini文件中加入以下三行:
password.cpl=no;
sysdm.cpl=no;
netcpl.cpl=no;
如果还有更多的限制,推荐使用超级兔仔的Magic Set。它可直接通过修改注册表来实现。
将桌面和开始菜单设置好。退出windows,用dos方式登录,去除该用户目录的所有文件的‘s、h、r’
属性,删去所有的临时文件、bak文件以及win386.swp文件,将Win95用户对此目录的权限改为只读;修改
machines.ini使其中包括:
[000000000000]
sysdatpath=第一个用户目录名全称(如H:\WINUSER\win.000)
3、自动生成用户目录、自动登录网卡号并自动分配用户目录
工作站一多,手工登录网卡号和生成并分配用户目录是一个繁琐而又枯燥的工作。可用来获取Novell网的网卡
ID号的代码见示例九。
对于NT网,win.bat中执行到net start(或net logon)时会从屏幕上显示网卡ID,
把显示信息重定向到一个文件中,再通过程序将网卡号提取出来即可。(我还没有找到NT网中网卡号的算法,只有采取这种
愚蠢办法,不过还管用,Novell中也可如法炮制)
Win95无盘站在启动时,由Setmdir.exe读共享目录下的machines.ini文件把用户目录
分配给某一个网卡,它完成如下几项工作:①查找共享目录下的machines.ini文件,确定该网卡的用户目录。②
将用户目录插入到path中,设置comspec、temp、tmp环境变量使其指向该用户目录。③装载该目录下的注
册表文件,使windows API指向该注册表。启动文件中的最少化的注册表负责进行无盘Win95系统最基本的启
动与连接。登录入网后要由此程序从指定的用户目录装载完全注册表。
我想以上第①步的工作就不麻烦它了,自己编程解决,加进去自动生成用户目录、自动登录网卡号并自动分配用户目
录的功能。完成这些工作后再调用setmdir.exe完成剩下的工作。
4、用户目录的修复
由于用户对用户目录具有可写权,损坏是不可避免的,手工去完成修复工作也觉得不爽。最好是在启动菜单中做一个
修复选项,用户一旦发现异常,就由他自己启动这一项进行修复。至于怎么修复,我想已不要我罗嗦了,将那五个文件从第一
号目录拷过来覆盖一次就行了。
可以在以上自编的程序中设一个开关,带这个开关运行,则不管用户目录是否已经建立都重新拷贝生成。这样,用户
目录就很轻松地得到了“修复”。
5、为同一块网卡分配不同的用户目录
需要这一功能的最有可能是游戏网吧的老板和Win95游戏网安装公司。
有的人说,游戏网与教学网是“鱼与熊掌”,不可兼得。因为进入游戏的用户,其图形界面完全由一个游戏菜单界面
来控制,其注册表经过特殊的设置,开始菜单、鼠标右键及一些快捷键都经过了屏闭,因而给与用户的权力几乎不加限制,用
户没办法退出游戏菜单,这样也能保证网络的安全。而用于教学或其它工作时,重要目录的权限肯定要予以限制,同时要能正
常出现桌面和开始菜单,也不能屏闭Win95系统应有的功能和各种快捷键。即游戏网与教学网用户权限设置不同,而且要
使用两套不同的注册表系统,而网卡与用户目录在登记文件中是一一对应关系。要解决这个问题有两种方案:
装两套Win95系统,两个Win95共享目录必定有两个machines.ini文件。一套运行游戏网,另
一套运行教学网,它们之间互不相干。不过这样会造成磁盘空间的浪费,如果需要多种用户界面就更不可取了。
由于读登记文件的工作可由自编的程序来完成,那么我们就不一定非要将共享目录下的machines.ini作
登记文件不可。可以给这个程序设一个命令行参数,让网管能指定登记文件名和位置。这样就可共用一套Win95系统了。
用这种方法实现显然比第一种要好。
有了这种功能,就可以用于任何同一工作站需要两套或两套以上的用户界面的情况。这样,网管可给不同的用户群设
置不同的权限和Win95界面。
【相关论坛】 【发表评论】