Za pomocą PAM w samouczku Linux

Za pomocą PAM w samouczku Linux
„Pam nie jest nowym systemem. Pochodzi z 1997 roku. Użytkownicy systemu Linux i administratorzy używają PAM w Linux do uwierzytelniania i innych zadań. Programy takie jak GDM, FTP, Telnet, SSH, IMAP, login i wiele innych używa teraz Linux-PAM do uwierzytelniania użytkowników.

Korzystając z PAM, programy te mogą ustalić, czy użytkownik jest tym, kim twierdzi, że jest. Dzięki PAM użytkownicy mogą uzyskać dostęp, dostarczając nazwy użytkowników i hasła przechowywane w wirtualnych protokołach, takich jak Kerberos lub LDAP. Użytkownicy mogą również dostarczać certyfikaty, tokeny lub biometrii do uwierzytelnienia.

I w przeciwieństwie do typowych protokołów uwierzytelniania, PAM lub modułów uwierzytelniania wtyczki, to interfejs programowania aplikacji (API). Zatem zamiast przepisywać kody dla każdego programu lub aplikacji, aby zapewnić kompatybilność PAM, PAM wygodnie modyfikuje kody źródłowe.

Poniższy schemat opisuje niektóre programy, które można zintegrować z PAM i zastosowane metody."

Samouczek Linux Pam

Idealnie, PAM zapewnia ujednolicony system logowania dla programów i aplikacji Linux. Ale aby poprawnie użyć Pam, ten samouczek się przyda.

Sprawdź systemy Linux, które są kompatybilne z PAM

Korzystanie z PAM zaczyna się od sprawdzenia, czy program, którego zamierzasz użyć. I możesz to sprawdzić, czy za pomocą tego polecenia;

Alternatywnie możesz użyć poniższego polecenia, aby wymienić programy lub usługi Linux, które używają PAM. Polecenie pozwala sprawdzić zawartość katalogu.

Lista korzystająca z powyższego polecenia zawsze daje wynik podobny do tego, co jest na poniższym rysunku;

Otwarcie dowolnego pliku usługi pokaże, że każdy plik ma trzy kolumny. Pierwsza kolumna oznacza grupę zarządzania, środkowa kolumna reprezentuje flagi kontrolne, a trzecia to moduł używany dla każdej kategorii.

Na powyższym rysunku „konto” reprezentuje grupę zarządzania, „wymagana” jest flagą kontrolną, podczas gdy „pam_nologin.więc ”to używany moduł. Czwarta kolumna może czasami istnieć, a to będzie reprezentować parametry modułu.

Utwórz lub edytuj pliki konfiguracyjne PAM dla PAM-ified Usługi lub programy

Jako serwer Linux lub administrator systemu, możesz wymienić wszystkie moduły PAM odpowiednie do wdrożenia zasad dostępu dla dowolnego programu. Lista jest znana jako stos. Będziesz musiał wywołać każdy moduł wymieniony na stosie pliku konfiguracyjnego dla konkretnego programu. Oczywiście powinno to nastąpić przed uwierzytelnieniem każdego użytkownika.

Możesz zmienić plik konfiguracyjny skonfigurowany dla programu na wypadek awarii danego modułu. Ta modyfikacja pozwoli ci wdrożyć bardziej złożone zasady, takie jak uwierzytelnianie za pomocą LDAP lub wypróbowywanie plików lokalnych w przypadku upadku.

Na przykład HwBrowser jest napisany, aby używać Linux PAM dla uwierzytelniania użytkowników. /Etc /pam.D kontroluje ten sam zestaw modułów w plikach konfiguracyjnych. Możesz edytować plik konfiguracyjny programu, aby umożliwić egzekwowanie pożądanych zasad dostępu.

Jest to domyślny wygląd pliku konfiguracyjnego programu przed edycją;

Jak widać powyżej, plik zawiera listę DLL do użycia, z niektórymi dodatkowymi szczegółami.

3. Używanie PAM do ograniczenia źródło Dostęp lub wstęp do SSH

W szczególności PAM przydaje się również w wyłączaniu dostępu użytkowników root do programów lub systemów za pośrednictwem SSH i innych programów logowania. Możesz to osiągnąć, ograniczając dostęp do usług SSHD i logowania.

/Lib/bezpieczeństwo/pam_listFile.Podobnie jest z preferowanym modułem, ponieważ oferuje ogromną elastyczność w ograniczaniu możliwości i uprawnień niektórych kont. Otwórz i edytuj pliki docelowe w /etc /pam.d/ za pomocą dowolnego z poniższych poleceń;

LUB

Niezależnie od tego, dodaj poniższy wynik do obu plików;

Układanie się za pomocą Linux Pam

Wreszcie, nie chcielibyśmy zakończyć samouczka Pam bez omawiania układania, ponieważ Pam obsługuje. Ta koncepcja pozwala konkretnej usłudze lub programowi korzystanie z wielu mechanizmów. Możesz utworzyć stos w pliku konfiguracyjnym, tworząc kilka wpisów dla programu docelowego z podobnym plikiem modułu_typu.

Możesz wywołać moduły w kolejności, w jakiej pojawiają się na stosie. Pole Control_flag określa końcowy wynik.

W szczególności PAM Control_flags mają następujące zachowanie;

  • wymagane- moduły te muszą minąć, aby uzyskać udany wynik. Inne wymagane moduły na stosie zostaną wypróbowane, nawet gdy jeden lub więcej w kategorii ulegnie awarii. Jednak błąd z pierwszego nieudanego modułu wpłynie na wynik.
  • wymagane- jest to podobne do wymaganego modułu. Ale w przypadku awarii jednego wymaganego modułu system nie będzie próbował żadnych innych wymaganych modułów w stosie do przetwarzania.
  • Wystarczające- jeśli wszystkie poprzednie wymagane moduły przejdą pomyślnie, a wystarczający moduł przejdzie, pozostałe moduły nie będą należne do przetwarzania. System zignoruje pozostałe moduły i zwróci udany wynik.
  • opcjonalnie- moduł opcjonalny musi odnieść sukces na wypadek, gdyby nie było wymaganych modułów w stosie i żaden z wystarczających modułów nie przeszedł. Ale jeśli w stosie jest inny udany moduł, system zignoruje każdy nieudany moduł opcjonalny.

Ten /etc /pam.Conf jest przykładem typowego stosu w PAM dla programu logowania w typu Auth_Module.

Wniosek

PAM to solidny interfejs API, który umożliwia usługi i programy w systemach Linux na uwierzytelnianie użytkowników. Chociaż pozostaje niezbędny dla uwierzytelniania użytkowników w środowisku Linux, zrozumienie i używanie Linux Pam może być koszmarem dla początkujących techników. Ten samouczek miał na celu ułatwienie całego procesu. Mam nadzieję, że osiągnął swój cel.

Źródła:

  • https: // www.IBM.com/docs/en/aix/7.2?Temat = moduły-pam-configuration-plik
  • https: // www.Tecmint.com/configure-pam-in-centos-ubuntu-linux/
  • http: // www.Linuxgeek.netto/dokumentacja/uwierzytelnianie.ftml
  • https: // dokumenty.wyrocznia.com/cd/e19683-01/816-4883/pam-32/indeks.html.