|
A 8.1. ábra megmutatja, hogy történnek a
terminálon keresztüli bejelentkezések. Először az init
megbizonyosodik arról, hogy van egy getty program a terminál
(vagy konzol) csatlakoztatására. (Ha nincs, akkor indít egyet.) A
getty figyel a terminálra és arra vár, hogy egy felhasználó
jelezze belépési szándékát. Ez általában valaminek a begépelését
jelenti. Amikor észrevesz egy ilyen kísérletet, a getty egy
üdvözlő üzenetet küld, ami a /etc/issue fájlban található, majd
bekéri a felhasználó nevét, végül futtatja a login programot. A
login megkapja a felhasználó nevét (username) paraméterként, és
bekéri a jelszót. Ha a jelszó megfelelő volt, a login elindítja
a felhasználónak beállított burokprogramot (shell-t), ellenkező
esetben kilép, és megszakítja a folyamatot. (Általában a
felhasználónak van egy-két próbálkozási lehetősége előtte, számítva a
véletlen félregépelésekre.) A kilépés után az init észreveszi,
hogy a folyamat megszakadt, és egy új getty -t indít a
terminálra.
8.1. ábra:
Bejelentkezés terminálon keresztül: az init , getty ,
login , és a burok kölcsönhatása.
|
Figyeljük meg, hogy az init által fork rendszerhívással
indított egyetlen új processz a getty , és a login csak ezt
helyettesíti az exec rendszerhívás útján.
Egy külön program szükséges a felhasználó észrevételére a soros
vonalakon keresztül való bejelentkezésekkor, mivel a terminál aktívvá
válásának felismerése bonyolult lehet. A getty alkalmazkodik a
kapcsolat sebességéhez és egyéb beállításaihoz, ami különösen a
betárcsázó kapcsolatoknál fontos, ahol ezek a paraméterek hívásról
hívásra változhatnak.
A getty és init programoknak több változata használatos,
és mindegyiknek van előnye és hátránya is. Jó ötlet, ha először a
rendszeren meglevőket tanulmányozzuk, majd a más változatokat. (A
''Linux Software Map'' segíthet a más változatok megkeresésében.) Ha
nincsenek betárcsázós vonalaid, akkor többnyire nem kell törődni a
getty programmal, de az init továbbra is fontos lehet.
|