Zadania 2 poprawkowe (administracja)
------------------------------------

Nalezy napisac modul PAM o nazwie "uden2", ktory moze byc wykorzystywany w
czesci "auth" i/lub "session" plikow konfiguracyjnych PAM.

Modul bedzie korzystal z pliku "/etc/uden2", ktory sklada sie z linii
pustych, komentarzy rozpoczynajacych sie od znaku '#' i konczacych sie
znakiem nowego wiersza oraz linii postaci:

serwis haslo

Spacje i tabulacje sa uznawane za biale znaki. Nie ma ograniczenia na
dlugosc linii ani hasla. Haslo nie ma (nie musi miec) nic wspolnego z haslem
unix-owym. Haslo sklada sie wylacznie z liter, cyfr i podkreslen. Haslo moze
byc puste (domyslnie wowczas nie mozna sie zalogowac, chyba ze podano flage
nullok).

Zadaniem modulu "uden2" w czesci "auth" jest autentykacja uzytkownika w
oparciu o plik "/etc/uden2". W tym celu jest on pytany o haslo. Modul musi
przyjmowac i poprawnie interpretowac flagi: debug, try_first_pass,
use_first_pass, nullok. O ile konieczne jest zapytanie o haslo, to modul
powinien pytac o nie komunikatem "uden2 password:". Flagi debug i
try/use_first_pass maja znaczenie takie, jak to opisano w dokumentacji do
PAM.

Modulu "uden2" uzyty w czesci "session" powoduje, ze podczas logowania na 
ekran wypisywana jest:
- liczba "kopii" danego uzytkownika korzystajacych w danej chwili z danego
  serwisu i majacych otwarta za pomoca modulu "uden2" sesje, o ile jest ona 
  wieksza od 0
- wpp: czas ostatniego otwarcia sesji za pomoca modulu "uden2" przez danego 
  uzytkownika w danym serwisie

Modul musi rozpoznawac flage debug. Ma ona znaczenie standardowe (logowanie
informacji debugujacych).

Wszystkie bledne/watpliwe sytuacje musza byc zglaszane za pomoca
odpowiednich mechanizmow systemowych (NIE na terminal).

Piotr Hoffman,
piotrek@mimuw.edu.pl