Starting Up Unix and Logging In

Most modern computers are equipped with a certain amount of read-only memory (ROM) that contains the first program that a computer runs when it is turned on.[374] Typically, this ROM system will perform a small number of system diagnostic tests to ensure that the system is operating properly, after which it will load another program from a disk drive or from the network. This process is called bootstrapping.

Although every Unix system bootstraps in a slightly different fashion, the ROM monitor usually loads a small program named boot that is kept at a known location on the hard disk (or on the network). The boot program then loads the Unix kernel into the computer and runs it.

After the kernel initializes itself and determines the machine’s configuration, it creates a process with a PID of 1, which then runs the /etc/init program.

Process #1: /etc/init

The program /etc/init finishes the task of starting up the computer system and lets users log in.

Some Unix systems can be booted in single-user mode . If Unix is booted in single-user mode, the init program forks and runs the standard Unix shell, /bin/sh, on the system console. This shell, run as superuser, gives the person sitting at the console total access to the system. It also allows nobody else access to the system; no network daemons are started unless root chooses to start them.

Some systems can be set up to require a password to boot in single-user mode, while others cannot. Many Unix systems ...

Get Practical UNIX and Internet Security, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.