Chapter 8. Logowanie się

Table of Contents
Logowanie się via terminal
Logowanie się poprzez sieć
Co robi login?
X i xdm
Kontrola dostępu
Start powłoki

"Nie zależy mi na członkowstwie w klubie, który akceptuje jako członków takich ludzi jak ja. " (Groucho Marx)

Sekcja opisuje niuanse logowania się do systemu.

Logowanie się via terminal

Figure 8-1 obrazuje zachodzące procesy. Najpierw init uruchamia dla odpowiedniego terminala program getty. getty oczekuje powiadomienia od użytkownika (oznacza to, że użytkownik musi coś napisać). Jeżeli po drugiej stronie jest użytkownik getty wyświetli przywitanie (zawartość pliku /etc/issue) i poprosi o nazwę użytkownika, po czym uruchomi program login. login odbiera nazwę użytkownika jako parametr i prosi o hasło. Jeżeli się zgadzają program uruchamia wybraną przez użytkownika powłokę; w innym wypadku program kończy działanie (zazwyczaj najpierw daje użytkownikowi kilka prób wprowadzenia hasła). init zauważy, że proces został zakończony i uruchomi nowe getty dla terminala.

Figure 8-1. Logowanie się poprzez terminale: interakcja pomiędzy: init, getty, login i powłoką.

Zauważ, że tylko init tworzy nowy proces (korzystają z wywołania systemowego fork); getty, login zamieniają program, z którego zostały wywołane (za pomocą wywołania systemowego exec).

W przypadku łącz szeregowych potrzebny jest osobny program do oczekiwania na użytkownika - sprawdzenie jego obecności może być (i tradycyjnie było) trudne. getty obsługuje również ustawienia takie jak prędkość, co czyni go programem przydatnym przy tworzeniu połączeń dial-in, w przypadku których ustawienia te zmieniają się dynamicznie.

Istnieje kilka wersji programów getty i init, każda z nich ma swoje wady i zalety. Powinieneś zapoznać się ze wszystkimi udostępnianymi przez swoją dystrybucję, oraz o innych (aby znaleźć je możesz skorzystać z Mapy Oprogramowania Linuxowego). Jeżeli nie tworzysz połączeń dial-in prawdopodobnie nie musisz się zajmować getty, jednak init jest nadal ważny.