金融系统大都采用Unix 作为操作系统,因为它是真正的多用户、多任务的操作系统。在Unix系统下,通过多用户卡可同时连接数个图形字符终端,且使用的字符界面速度极快,多个柜员可同时完成相同的工作。我行一应用系统,其运行环境与以上描述相同,系统要求必须安装多用户卡,多用户卡安装正常后其端口设备名称为tty21a、tty21b…,柜员只有在系统正确配置参数的指定端口tty21a 、tty21b等后上才能工作。这种做法在一定程度上加强了应用系统的安全性,防止了其他端口(包括控制台、虚拟端口)进行非法操作;但另一方面又有它的局限性,如果该机器上多用户卡出现故障,将无法进行帐务处理。如何解决?以下是将端口设备tty1a改造成tty21a 的办法。
这台业务机器有两个COM口(COM1和COM2),可分别连接一台终端。系统在启动时,会为每个端口启动一个后台系统进程getty ,该进程自始至终都存在。
启动系统初始化进程脚本文件/etc/initatb,其格式如下。
id:rstate:action:process
id 唯一标识号
rstate 该进程运行的级别
action 关键字
Process 执行的命令名及参数
使用PS 命令会看到类似如下的进程信息:
root 424 1 0 14:20:08 tty03 00:00:00 /etc/getty tty03 sc_m
root 425 1 0 14:20:08 tty04 00:00:00 /etc/getty tty04 sc_m
root 426 1 0 14:20:08 tty05 00:00:00 /etc/getty tty05 sc_m
root 427 1 0 14:20:08 tty06 00:00:00 /etc/getty tty06 sc_m
root 435 1 0 14:20:08 tty21a 00:00:00 /etc/getty tty21a m
为了让该tty21a 能正常工作,还需要将/etc/inittab 文件中的下列信息行
Se1a:234:respawn:/etc/getty tty1a m
更改为
Se1a:234:respawn:/etc/getty tty21a m
再重新启动机器,系统将会为tty21a 启动getty后台进程。至此,我们将tty1a 改造为tty21a ,端口工作正常。在终端控制登录数据库文件中/etc/auth/system/ttys 将会有tty21a 端口登录信息。
为了使该配置在系统重构核心后仍然有效,还需要更改/etc/conf/init.d/sio,通过vi命令对sio 文件进行修改。将
Se1a:234:respawn:/etc/getty tty1a m
更改为
Se1a:234:respawn:/etc/getty tty21a m
/etc/conf/cf.d/init.base 为操作系统inittab 内容(也是缺省的inittab)。
/etc/conf/init.d/ 为系统中增加模块以及设备的inittab内容。
当系统重构核心时,idmkinit 将根据/etc/conf/cf.d/init.base 、/etc/conf/init.d/自动合并并重写产生/etc/inittab 文件,如果不对,系统重构后所有的设置将还原,在/etc/inittab文件中将会再次出现Se1a:234:respawn:/etc/getty tty1a m,而此时tty1a已不存在, 端口会出现异常。