Index
Czas Marsa
15 (212)
01 (208)
Gordon R Dickson Smoczy Rycerz T 1
abc.com.pl 6
04 (515)
25 (58)
WFRPG podrecznik Ksiega szczura
Diabelski kandydat
Leeme
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • imuzyka.prv.pl

  • [ Pobierz całość w formacie PDF ]
    .Rozpoczynanie pracy w systemieDo spisu tresci tematu 7Rozpoczynanie pracy w systemieZa umozliwienie uzytkownikowi wejscia do systemu odpowiedzialne sa 2 programy:Getty - jest to program otwierajacy linie terminalowa i czekajacy az ktoswprowadzi identyfikator.Jest on uruchamiany przez proces INIT na samym poczatku dzialania systemu.Algorytm dzialania programu "agetty" jest nieskomplikowany.Otworz terminal tak, aby byl przypisany do deskryptorow o numerach 0,1,2 (stdin,stdout,stderr)Ustaw parametry jego pracy (glownie dotyczy to linii terminalowych zwiazanych z portami szeregowymi)Pobierz identyfikator uzytkownika (get_logname(.)) Tu ciekawostka: Jesli uzytkownik wprowadzi swoj identyfikator duzymi literami, to ten program zmieni je na male (ale WSZYSTKIE litery musza byc wprowadzone jako wielkie)Ustawia koncowe parametry pracy terminala (na "normalne")Wywoluje program "login" podajac mu, jako parametr wczytany identyfikator uzytkownikaDrugim programem jest "login" Jego algorytm jest nastepujacy:Sprawdz parametry wywolania (skladniowo,tzn.czy opcje ktore dostalismy pasuja do jakiegos wzorca)W petli nieskonczonej wykonuj co nastepuje:Jesli konieczne, pobierz identyfikator uzytkownika (czasami to nie jest potrzebne, bo mozemy dostac wlasciwy identyfikator uzytkownika jako parametr wywolania)Z pliku z haslami odczytaj pole odpowiadajace temu identyfikatorowiUstaw identyfikator grupy i uzytkownika na 0 (czyli nadzorcy) (Nie wiem po co; przeciez powinnismy byc tak wlasnie wywolani ??)Jesli identyfikator nie jest identyfikatorem nadzorcy, sprawdz czy uzytkownik nie stracil prawa do zalogowania sie (np.za duzo nieudanych prob)Jesli identyfikator jest rowny identyfikatorowi nadzorcy to sprawdz czy uzytkownik loguje sie z "bezpiecznego" terminala (rootterm(.)) jesli nie, to wyswietl wlasciwy komunikat i przejdz do nastepnego obrotu petliPobierz hasloZakoduj jePorownaj to co wyszlo z odpowiednim rekordem w naszym polu pobranym z pliku z haslami.Wykonaj petelke ktorej liczba obrotow jest uzalezniona od ilosci nieudanych prob; ponadto jesli bylo wiecej niz 10 prob, zakoncz dzialanie.Jesli wszystko sie udalo to uaktualnij pliki zawierajace informacje o dokonanych wejsciach do systemu (utmp i wtmp), ustaw odpowiednio identyfikator grupy i uzytkownika i uruchom interpretator polecen uzytkownikaKtos moglby sie spytac dlaczego uzywa sie tutaj 2 programow, zamiast jednego.Odpowiedz brzmi: Pierwszym z tych programow moze byc program otwierajacy konsole jako terminal, moze tez otwierac urzadzenie podlaczone do linii szeregowej; dzieki rozdzieleniu zajmowania terminali isprawdzania poprawnosci mamy wieksza elastycznosc.Uwaga: Prosze zauwazyc, ze to co jest tutaj napisane jest to omowienie 2 zupelnie niezaleznych od jadra programow.Dlatego prosze sie nie zdziwic gdy wezmiece zrodla wlasnego getty i okaze sie, ze cos jest robione nieco inaczej niz tu jest napisane.Tu jescze jedna uwaga: Jak zapewne to zostanie powiedziane w temacie 10 proces getty ma "atrybut" (?) respawn, gdy jest uruchamiany przez init.Dzieki temu nie musimy sie martwic o wznawianie tych procesow, gdy proba wejscia do systemu skonczy sie niepowodzeniem lub gdy uzytkownik skonczy prace - init zrobi to automatycznie.Autorzy: Kamil Jonca i Piotr Suchodol [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • aceton.keep.pl
  • 
    Wszelkie Prawa Zastrzeżone! Kawa była słaba i bez smaku. Nie miała treści, a jedynie formę. Design by SZABLONY.maniak.pl.