Scroll to navigation

PAM(8) Podręcznik Linux-PAM PAM(8)

NAZWA

Linux-PAM - Wstawialne moduły autentykacji dla Linuksa (ang. Pluggable Authentication Modules)

STRESZCZENIE

/etc/pam.conf

OPIS

Podręcznik ten ma na celu danie krótkiego wprowadzenia do Linux-PAM. Dla dalszych informacji, czytelnik jest odsyłany do Linux-PAM system administrators' guide.

Linux-PAM jest systemem bibliotek, które zajmują się zadaniami autentykacji aplikacji (usług) systemu. Biblioteka daje stabilny i ogólny interfejs (API), któremu podlegają w zadaniach autentykacji programy dające przywileje (takie jak login(1) i su(1)).

Podstawową właściwością podejścia PAM jest to, że natura autentykacji jest dynamicznie konfigurowalna. Innymi słowy, administrator systemu ma pełne pole do popisu w wybieraniu sposobu autentykacji poszczególnych aplikacji. Ta dynamiczna konfiguracja jest ustawiana zawartością pojedynczego pliku konfiguracyjnego Linux-PAM czyli /etc/pam.conf. Alternatywnie, można wszystko konfigurować pojedynczymi plikami konfiguracyjymi, zlokalizowanymi w katalogu /etc/pam.d/. Obecność tego katalogu spowoduje, że Linux-PAM zignoruje /etc/pam.conf.

Z punktu widzenia administratora systemu, dla którego przeznaczony jest ten podręcznik, nie jest ważne zrozumienie wewnętrznego działania biblioteki Linux-PAM. Ważną rzeczą jest natomiast rozumienie, że plik(i) konfiguracyjne definiują połączenia między aplikacjami (usługami) a wstawialnymi modułami autentykacji (PAM'ami), które dokonują rzeczywistych zadań autentykacji.

Linux-PAM rozdziela zadania autentykacji na cztery niezależne grupy zarządzania: zarządzanie kontem (account); zarządzanie autentykacją (authentication); zarządzanie hasłami (password); i zarządzanie sesją (session). (podświetlamy skróty używane dla tych grup w pliku konfiguracyjnym.)

Po ustawieniu, grupy te będą się zajmowały różnymi aspektami typowego żądania zastrzeżonej usługi przez użytkownika:

account - daj usłudze możliwość weryfikacji konta: czy hasło użytkownika jest przedawnione?; czy użytkownik ma prawo dostępu do żądanej usługi?

authentication - ustal czy użytkownik jest tym, za którego się podaje. Zazwyczaj robi się to poprzez zapytanie użytkownika o pewną odpowiedź, której musi udzielić: jeśli jesteś tym, za kogo się podajesz, podaj proszę swoje hasło. Nie wszystkie autentykacje są tego rodzaju, istnieją też sprzętowe schematy autentykacji (takie jak używanie urządzeń biometrycznych), które mają odpowiednie moduły, nadające się do bezproblemowego podstawienia za standardowe modele autentykacji - oto elastyczność Linux-PAM.

password - zadaniem tej grupy jest odświeżanie mechanizmów autentykacji. Zazwyczaj usługi takie są ściśle związane z tymi z auth. Niektóre mechanizmy autentykacji dobrze nadają się do odświeżania tą funkcją. Oczywistym przykładem jest standardowy UN*X-owy dostęp oparty o hasło: proszę wstawić hasło zamienne.

session - zadania tej grupy obejmują rzeczy, które powinny być dokonane przed daniem usługi oraz po jej wycofaniu. Zadania takie to m.in obsługa śladów rewizyjnych i montowanie katalogu domowego użytkownika. Grupa obsługi sesji jest ważna, gdyż udostępnia zarówno hak otwierający, jak i zamykający modułów.

Plik(i) konfiguracyjne

Gdy uruchamiana jest aplikacja świadoma przyznawania uprawnień poprzez bibliotekę Linux-PAM, aktywuje ona swoje powiązanie z PAM-API. Aktywacja ta określa wiele rzeczy, wśród których najważniejszą jest przeczytanie plików konfiguracyjnych: /etc/pam.conf, lub w wypadku istnienia odpowiedniego katalogu, pliki z /etc/pam.d/.

Pliki te wymieniają PAMy, które będą się zajmowały zadaniami autentykacji danej usługi i odpowiednie zachowanie PAM-API gdy któryś z PAMów zawiedzie.

Składnia pliku konfiguracyjnego /etc/pam.conf jest następująca. Plik jest złożony z listy reguł, przy czym każda z nich zwykle jest umieszczana w pojedynczej linii, choć może być też złożona na końcu linii: `\<LF>'. Komentarze są poprzedzane znakiem `#' i trwają aż do końca linii.

Format każdej reguły to rozdzielona spacjami kolekcja elementów, z których pierwsze trzy nie rozróżniają wielkości liter:

usługa rodzaj kontrola ścieżka-modułu argumenty-modułu

składnia plików z /etc/pam.d/ jest taka sama, z tą różnicą że nie ma tam pól usług. W tym wypadku, usługa jest nazwą pliku z /etc/pam.d/. Nazwa pliku musi być zapisana małymi literami.

Ważną właściwością Linux-PAM jest to, że można zestawić na stosie wiele reguł i łączyć tak usługi wielu PAMów dla danego zadania autentykacji.

Usługa jest zwykle znaną nazwą odpowiadającej aplikacji: login i su są tu dobrymi przykładami. Nazwa usługi other jest zarezerwowana na tworzenie reguł domyślnych.

Element rodzaj określa grupę zarządzania, której odpowiada reguła. Jest używany do podania, z którą z grup połączyć ten moduł. Poprawne wpisy to: account; auth; password; i session. Znaczenie tych słów kluczowych wyjaśniono powyżej.

Trzecie pole, kontrola, określa zachowanie PAM-API po niepowodzeniu modułu w procesie autentykacji. Prawidłowe wartości tego pola to: requisite - niepowodzenie takiego PAM powoduje natychmiastowe zatrzymanie procesu autentykacji; required - niepowodzenie takiego PAM będzie prowadziło PAM-API do zwrócenia błędu, lecz dopiero po tym, jak pozostałe zestawione na stosie moduły (dla tej usługi i rodzaju PAM) zostaną wykonane; sufficient - sukces takiego modułu wystarcza do zadowolenia wymagań autentykacji w stosie modułów (jeśli wcześniej nie powiódł się moduł required, sukces tego jest ignorowany); optional - sukces lub niepowodzenie tego modułu jest istotny tylko jeśli jest jedynym modułem na stosie związanym z tą usługą+rodzajem.

ścieżka-modułu - pełna nazwa pliku PAMu używanego przez aplikację

argumenty-modułu - lista rozdzielonych spacjami elementów, używanych do modyfikowania określonego zachowania danego PAMu. Argumenty takie są opisywane dla konkretnych modułów.

PLIKI

/etc/pam.conf - plik konfiguracyjny
/etc/pam.d/ - katalog konfiguracyjny Linux-PAM. Jeśli ten katalog istnieje, /etc/pam.conf jest ignorowany.
/usr/lib/libpam.so.X - biblioteka dynamiczna
/usr/lib/security/*.so - PAMy

Zauważ, że aby odpowiadać standardowi Linuksowego systemu plików, biblioteki i moduły twojego systemu mogą się znajdować odpowiednio w /lib i /lib/security.

BŁĘDY

Typowe błędy generowane przez system Linux-PAM są zapisywane do syslog(3).

ZGODNE Z

DCE-RFC 86.0, Październik 1995.
Zawiera dodatkowe właściwości, rozważane obecnie przez komitet DCE-RFC.

USTERKI

Nie są znane.

ZOBACZ TAKŻE

Trzy podręczniki Linux-PAM, dla Administratorów systemu, Twórców modułów, i Twórców aplikacji.

9 lutego 1997 Linux-PAM 0.56