Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103776719
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-07 15:29:15

出处:Unix爱好者家园unix-cd.com 

 SCO OpenServer 5操作系统的启动

1.  普通用户模式及注册

    如何去使用UNIX系统呢, 让我们从UNIX系统的启动开始……

    在准备学习和实践UNIX系统之前,我们已简单地了解到:UNIX 系统是一种多用户、多任务、分时的操作系统。 它允许多个用户通过终端同时使用一台 UNIX服务器。 而且UNIX系统对每一个系统中的用户还给予了好像它们在单独使用这套系统一样的效果。

   

    你知道吗UNIX操作系统是如何去区别多个用户的 ?

 

打开计算机主机(主控台console)的电源,UNIX引导程序(boot) 装入并执行,直到显示下列提示信息:

    SCO OpenServer ™ Release 5  

    Boot                            

    _å                            

 

    %注意:在上述的提示信息中,用户若键入 å,可显示当前可用的设备名清单。设备和文件名的格式如下:

    xx (m) filename

    这里,xx为设备名(硬盘用hd表示,软盘用fd 表示)。m为次设备号(如,硬盘上的根文件系统为40,软盘为64)。filename为标准的UNIX路径名。缺省设备为hd(40)

 

    上述显示信息,为首次调用boot程序时产生的。这里,系统要求用户输入要装载的程序的位置。直接按回车键,引导程序(boot)便开始从硬盘加载UNIX系统,并开始迅速显示下列信息(如果在冒号之后键入DOS并按回车键,则进入DOS环境,假若在你的机器中有DOS分区的话):

    loading kernel hd(40)unix.text

    …………………………………………………………………………………………

    loading kernel hd(40)unix.data

    ……………………………………………………………………………………………

    loading kernel hd(40)unix.bass

    ……………………………………………………………………………………

    上述信息说明UNIX核心的文本段、数据段、附加段已进入内存。紧接着系统对硬件设备进行自检,其表现为对其硬件设备自检的每一步都显示一个字符(用户在启动系统时可以观察到)。

    在硬件设备自检和初始化完成之后, 显示系统硬件配置表如下所示:

    device       address      vector   dma   comment          

    -------------------------------------------------------------------------

    fpu       -                 13      -     type=80387    

    serial   0x03F8-0x03FF   04      -     unit=0 type=Standard nport=1 

    floppy   0x03F2-0x03F7   06      2     unit=0 type=135ds18          

    floppy    -                 -       -     unit=1 type=96ds15           

    console                             -     unit=vga type=0 12 screen=68K

    parallel  0x0378-0x037A  07     -     unit=0                       

    disk    0x01F0-0x01F7     14     -     type=W0 unit=0 cyls=723 hds=15 secs=51

    mem:  total=16000k  kernel=2304k user=13696k               

    rootdev=1/40      swapdev=1/41    pipedev=1/40 dumpdev=1/41  

    nswap=30000     swplo=0    Hz=100                             

    kernel:  i/o bufs=600k                                           

 

    G提示:上述配置表中显示如下信息:device(硬件设备)address(十六进制地址)vector(中断向量)dma(DMA通道)comment(硬件设备的其他信息)。表中fpu为浮点运算部件;serial为串行端口COM1Floppy为高密度软盘驱动器;console为控制台;parallel为并行口;disk为硬盘驱动器;mem指内存。

 

    在显示硬件配置表之后, 系统将对根文件系统(root filesystem)进行自检;如果根文件系统完好,系统则提示用户选择操作方式。

    INITSINGLE USER MODE                   

    Type CONTROL-d to proceed with normal startup 

    (or give root password for system maintenance)_

 

    G提示:这里系统提示有两种操作模式:按+键将以普通用户模式注册进入系统;键入root用户的口令进入系统维护模式。

 

    在上面的系统提示信息中,用户同时键入键,UNIX系统则进入普通用户操作模式, UNIX系统的常用模式:多用户模式。此时,屏幕显示如下信息:

    INITNew run level2                    

    Enter new time([yymmdd]hhmm)_å                       

         ... ...                                              

    Checking tcb …                                

    Checking protected password and protected subsystem database...                 

    Checking ttys database...

    The system is coming up.Please wait

    Fsstat:/dev/boot mounted

    Mounted /stand filesystem

        …

    Starting /usr/internet/etc/ncsa_httpd … done

    Starting scohttp … done

    The system is ready.                               

   

    SCO OpenServer (TM) Release 5 (scosysv) (ttyo1)

    login:_                                       

 

    G提示:注意观察系统启动过程中的显示信息。

 

    最后一行的“login:”为系统提示用户进行注册的信息提示。

    如果该用户不是root用户,他从某个终端上注册进入UNIX的话(当然此时主机中已经启动了UNIX),则直接进入下列的画面:

    login:_    

 

    %注意:如果终端未出现“login:”信息,多按几次回车键后,一般就能够解决这一问题。

 

    接下来的操作就是用户键盘输入注册名。这是用户进入UNIX 操作系统的第一步必须进行的工作。

    假如普通用户的注册名为jinning,则从键盘上按j i n n i n g的顺序击键输入,最后按回车键,表示注册名输入结束。随后系统提示输入用户口令。注意,屏幕并不显示用户输入的真实口令。

    loginjinning å     

    password_         

             ...   ...                                          

$_                                            

 

    G提示UNIX系统中,用户口令并不是作为普通文本存储的,而是经过加密后存储的。用户注册时键入的口令,系统对它进行加密,并将结果与/etc/passwd文件中存储的加密口令相比较,匹配则注册成功。否则,返回到“password:”状态。

 

    当屏幕显示UNIX系统提示符“$”时,则表明你已注册成功,成为UNIX系统的合法用户(这里假设超级用户已为普通用户jinning建立了账户。有关如何建立账户将在后面的章节中介绍)。

到此, 用户可以在系统提示符下, 进行自己权限允许范围内的有关操作。

 

    %注意:此时,用户可以直接跳到下一章的有关内容的学习。比如,使用passwd命令去修改用户的初始口令;使用ls命令去列示目录的内容等。

 

    %注意:进行操作模式的选择之前,系统将对文件系统的有效性和一致性进行检查。如果系统在上一次运行中正常关闭,则fsck命令将只是简单地终止,不必做进一步的工作。否则,如果是非正常关闭,fsck命令检测到有问题,则提示用户是否要进行修复, 其显示的信息为:

    fsstar: root file system needs checking.

    OK to check the root file system (/dev/root)? (y/n)_

    用户此时键入 并回车, 确认进行修复。根文件系统修复完成, 系统将提示用户进行操作模式的选择。

 

    你知道吗注册是什么概念,不注册可以进入UNIX操作系统吗?

   

    &?学习札记

    ?  在启动UNIX系统时显示的信息中,读者已经观察到,系统启动了一系列进程为用户使用系统进行准备。启动UNIX系统不仅仅打开机器的电源。它一般要通过一系列的阶段:(1)加载操作系统;(2)在系统非正常终止时,保存或删除系统的内存映像;(3)清理文件系统;(4)选择系统的运行模式;(5)在启动时设置时间和日期;(6)检查安全性数据库。

    ?  系统启动过程中提示的信息中包含着丰富的内容,循序渐进地了解、认识它们,并做好日志的记录是有益处的。比如:“INIT: SINGLE USER MODE”,其意为单用户操作方式;“INIT: New run level: 2”,其意为多用户操作方式;“ scosysv!  login:”是系统提示用户进行注册;“password:”则是系统要求用户输入口令等等。

    一般来说,在UNIX系统环境中,任何由键盘所做的输入不外乎两种类型:一是要求系统去做某些工作, 一是对系统的要求作出响应。比如键入,要求系统进入多用户模式,而系统提示“scosysv! login:”,“password:”,要求用户输入注册名和口令进行响应,之后还有系统启动过程中需要输入硬件配置表的内容等。

    ?  用户进入UNIX系统环境,必须进行的第一项工作就是注册,否则无法进入UNIX 系统。必须明确的是,UNIX系统对用户的注册过程是非常认真的。

注册是怎么回事? 注册就是用户进入UNIX系统的过程。就是让UNIX系统验证用户使用本系统的权限,并为用户建立相应的使用环境。注册也是UNIX系统安全的第一道防线。

    用户的注册过程是,系统首先提示输入用户的注册名,用来识别用户注册主目录(用户的起始目录);其次,验证用户的注册口令,以证实用户的身份。在完成上述内容之后,系统将为用户打开一个shell

    ?  由于UNIX是一个多用户、多任务的操作系统,于是,自然会产生这样的问题,UNIX操作系统是如何保护系统中的多个用户的数据资源的。UNIX操作系统利用事先为用户设置的用户的标识码ID来区分不同的用户。用户标识码由两个部分组成,第一部分是用户的username(用户名)userid(用户标识id),也可以称为loginname(注册名);第二部分是用户的上机钥匙,即password(口令)。口令是由用户选择、改变和决定的。为了保密,有时口令中间加上标点符号,但它最多允许有8个字符。

用户正确地输入自己的注册名和相应的口令后,系统将同时完成用户身份的验证,并赋予相应的权限。

 

2. 系统维护模式及注册

    系统维护模式又称单用户模式,是执行系统维护任务的模式。如,检查文件系统、安装或更新软件,重新安装文件系统等。非root用户不允许注册于这种模式。这是因为本模式在访问系统时不受任何限制。

    在下列系统提示信息中,用户直接从键盘输入root用户口令后,系统则进入单用户状态。注意,此时输入的口令在屏幕中不显示。

    INITSINGLE USER MODE       

    Type CONTROL-d to proceed with normal startup  

    (or give root password for system maintenance)  å   

    Entering System Maintenance Mode           

                              

    #_          

显示器出现系统提示符“#”,表明系统已进入系统维护模式。

 

%注意:(1) root用户的口令字是系统安装期间指定的;(2)  root用户在此直接键入其口令后,系统直接到提示符下。如果用户键入+键,进入多用户模式下,系统还将继续运行,如执行设置系统的时间,启动有关的进程等,直至提示用户注册。

 

若用户在上述的系统提示信息中,不键入root用户的口令,而是同时键入键则进入多用户模式。然后在出现注册提示符“login:”下,再键入超级用户注册名root,并正确输入其口令后,系统将进入超级用户状态。

    scosysvloginroot å    

    password       

 

    #_         

    当屏幕显示UNIX系统提示符“#”时,表明你已注册成功,已成为UNIX系统的合法用户,可以在UNIX环境下进行各项系统的管理操作了。

 

    ?问题(1)单用户模式下和多用户模式下的超级用户的内涵有区别吗?(2)是不是任何用户都可以进入单用户状态呢?

 

    %注意root用户的口令是极其重要的,不应随意地传播。其实,在UNIX系统下,系统管理员以普通用户的身份进入多用户模式,也可以做许多事情。

 

    G提示:在系统启动时,引导进程是可以改变的。

 

    &?学习札记

    ?  整个UNIX系统的启动过程主要做三项工作:引导核心,检查文件系统,启动各种daemon程序。即它可分为两个阶段:一是系统自举;二是启动UNIX。其中,启动UNIX阶段主要由boot程序引导核心程序开始,即系统的引导。当UNIX被引导运行后,将启动一个称之为init的进程。该进程将启动/etc/inittab文件中所列的进程,并且引导系统进入特定的运行级别。

    ?  单用户模式又称为系统维护模式,它一般只适用于系统中的用户都已退出系统,并且对系统进行维护操作时。由于在进行模式选择时直接进入到单用户模式,所以没有执行/etc/rc文件中的各种精灵程序和启动程序。而进入多用户模式时,启动的过程从设置系统的时间开始,然后继续启动相关的进程。这一点,从系统的启动过程的提示信息中可以看出。单用户模式root用户和多用户模式下的root用户状态其启动的系统资源是不一样的。读者还可从下列操作的结果中看到。

单用户模式下进行下列的操作:

# ps –ef å

    UID    PID  PPID  C    STIME      TTY        TIME CMD

    root     0     0  0    May-20       ?    00:00:00 sched

    root     1     0  0    May-20       ?    00:00:00 /etc/init

    root     2     0  0    May-20       ?    00:00:00 vhand

    root     3     0  0    May-20       ?    00:00:00 bdflush

    root     4     0  0    May-20       ?    00:00:00 kmdaemon

    root     5     1  0    May-20       ?    00:00:00 htepi_daemon /

    root     6     0  0    May-20       ?    00:00:00 strd

    root    92     1  2 20:02:48 console    00:00:00 -

    root    52     1  0 20:02:43       ?    00:00:00 /etc/ifor_pmd

    root    53    52  0 20:02:43       ?    00:00:00 /etc/ifor_pmd

    root    49     1  0 20:02:38       ?    00:00:00 /etc/syslogd

    root    41     1  0 20:02:38       ?    00:00:00 htepi_daemon /stand

    root    77     1  0 20:02:47       ?    00:00:00 strerr

root    93         1 0 20:02:49       ?    00:00:00 /var/scohttp/scohttpd -d/var

/scohttp

    root    61    53  0 20:02:43       ?    00:00:00 /etc/sco_cpd

    root    62    53  0 20:02:43       ?    00:00:00 /etc/ifor_sld

    root   102    92  2 20:08:48 console   00:00:00 ps -ef

    #_

多用户模式下进行下列的操作:

# ps –ef å

     UID   PID  PPID  C    STIME      TTY        TIME CMD

    root     0     0   0   May-20          ?     00:00:00 sched

    root     1     0   0   May-20       ?     00:00:00 /etc/init

    root     2     0   0   May-20       ?     00:00:00 vhand

    root     3     0   0   May-20       ?     00:00:00 bdflush

    root     4     0   0   May-20       ?     00:00:00 kmdaemon

    root     5     1   0   May-20       ?     00:00:00 htepi_daemon /

    root     6     0   0   May-20       ?     00:00:00 strd

    root   496     1   0 20:10:03  tty01    00:00:00 /bin/login root

    root    52     1   0 20:02:43      ?     00:00:00 /etc/ifor_pmd

    root    53    52   0 20:02:43      ?     00:00:00 /etc/ifor_pmd

    root    49     1   0 20:02:38      ?     00:00:00 /etc/syslogd

    root    41     1   0 20:02:38      ?     00:00:00 htepi_daemon /stand

    root    77     1   0 20:02:47      ?     00:00:00 strerr

    root   497     1   0 20:10:03    tty02  00:00:00 /etc/getty tty02 sc_m

    root    61    53   0 20:02:43      ?     00:00:00 /etc/sco_cpd

    root    62    53   0 20:02:43      ?     00:00:00 /etc/ifor_sld

    root   498     1   0 20:10:04    tty03  00:00:00 /etc/getty tty03 sc_m

    root   499     1   0 20:10:04    tty04  00:00:00 /etc/getty tty04 sc_m

    root   469     1   0 20:09:58      ?     00:00:00 /usr/lib/scosh/calserver

    root   295     1   0 20:09:35     ?     00:00:00 rusersd

    root   258     1   0 20:09:33     ?     00:00:00 /etc/cron

    root   285     1   0 20:09:35     ?     00:00:00 portmap

    root   270     1   0 20:09:34     ?     00:00:00 /usr/lib/lpsched

    root   379     1   0 20:09:45      ?     00:00:00 statd

    root   294     1   0 20:09:35      ?     00:00:00 rwalld

    root   500     1   0 20:10:04   tty05   00:00:00 /etc/getty tty05 sc_m

            

    root   313     1   0 20:09:36      ?     00:00:00 /etc/inetd

    mmdf   348     1   0 20:09:40          ?     00:00:00 /usr/mmdf/bin/deliver -b

    root   374     1   0 20:09:45     ?     00:00:00 biod 4

    root   375     1   0 20:09:45     ?     00:00:00 biod 4

    root   376     1   0 20:09:45          ?     00:00:00 biod 4

    root   377     1   0 20:09:45     ?     00:00:00 biod 4

    root   326     1   0 20:09:36     ?     00:00:00 routed

    root   346     1   0 20:09:38          ?     00:00:00 /etc/snmpd

            

    root   481     1   0 20:10:03     ?     00:00:00 /usr/lib/scosh/caldaemon

    root   501     1   0 20:10:04    tty06   00:00:00 /etc/getty tty06 sc_m

    root   502     1   0 20:10:04    tty07   00:00:00 /etc/getty tty07 sc_m

    root   503     1   0 20:10:04    tty08   00:00:00 /etc/getty tty08 sc_m

    root   504     1   0 20:10:04    tty09   00:00:00 /etc/getty tty09 sc_m

    root   505     1   0 20:10:04    tty10   00:00:00 /etc/getty tty10 sc_m

    root   506     1   0 20:10:04    tty11   00:00:00 /etc/getty tty11 sc_m

    root   507     1   0 20:10:04    tty12   00:00:00 /etc/getty tty12 sc_m

    root   508     1   0 20:10:04     ?     00:00:00 /tcb/files/no_luid/sdd

    root   533   496   2 20:11:25    tty01   00:00:00 -sh

    root   541   533   4 20:12:35    tty01   00:00:00 ps -ef

    #_

    从上述的运行结果看,读者可以发现两种模式下的系统资源配置是不同的。UNIX 是多用户、多任务的操作系统,核心是构成UNIX 内核的程序,但它不能为用户包揽一切。在任何时候, 运行UNIX系统都处在一个运行级(run level)上。用户模式的选择,就是UNIX系统根据用户的选择来启动为用户服务的有关进程(软件的配置)。所以,系统运行的模式体现着系统的资源配置(关于进程的概念,请读者参见第7章的相关章节的内容介绍)。

    ?  在有些情况下,用户可以让系统自动进行启动。如果在一个指定的时间内,比如60秒,用户没有对启动提示作出反应,系统将自动进行启动。其缺省的过程如下:

(1) 从主硬盘装载缺省核心/stand/unix

(2) 如果必要的话,清理root文件系统;

(3) 启动到多用户模式;

(4) 停顿30秒以设置日期和时间;

(5) 检查安全性数据库;

(6) 清理并安装在系统启动时设置安装的内容。

阅读(768) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~