Weshalb pam?

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Warum PAM?

Geschichte

  • Früher mussten alle Programme mit Anmeldung die üblichen Systemdatenbanken lesen.
  • /etc/passwd, /etc/group, /etc/shadow
  • Dies waren, außer dem Login, auch die damals verbreiteten Programme wie FTP, telnet, etc.
  • Das war sehr unflexibel
  • Bei Änderungen der Verschlüsselung oder des Anmeldevorgangs mussten diese Programmen einzeln angepasst werden
  • Nach und nach kam der Wunsch auf, eine zentrale Authentifizierung zu nutzen.

Vorreiter

  • Der Vorreiter hier war NIS
  • Die Idee war nun eine Abstraktionsschicht zwischen Dienstprogramm und Authentifizierungdienst zu schaffen.
  • Die Dienste sollten mit einer einheitlichen standardisierten Schnittstell kommunizieren.
  • Diese wiederum sollte mit verschiedenen Authentifizierungsdiensten sprechen.
  • Wichtig war auch das diese Kommunikation zur Authentifizierung erweiterbar war.

PAM

  • Hier trat nun PAM auf die Bühne.
  • Die PAM-Bibliothek liefert dann (einfach gesagt) nur noch die Antwort »Zulassen« oder »Abweisen«
  • Um dies Details des Anmeldevorgangs musste sich das Dienstprogramm nicht mehr kümmern.
  • PAM ist nicht zu verwechseln mit dem Name Service Switch
  • NSS kümmert sich darum, dass der richtige User zu einer ID angezeigt wird.
  • Die wird über Funktion in C-Bibliotheken gehandelt.
  • Die Hauptaufgabe von PAM ist die Authentisierung
  • Hier interagiert es mit den Dienstprogrammen.
  • Es fordert beispielsweise die Passworteingabe auf eine angemessene Art ein.
  • Um PAM zu konfigurieren muss man in der Regel nur Konfigurationsdateien verändern.
  • Man muss keinen Dienst neustarten die Änderungern ziehen direkt.

Vorteile

  • Der große Vorteil von PAM ist die flexibilität
  • So ist es möglich neue Authentifizierungsverfahren einzubinden.
  • Theoretisch könnte man sogar selbst etwas entwickeln.
  • Smartcards, Biometrische Daten, OTP, LDAP, Radius und vieles mehr ist möglich.
  • Es ist auch möglich mehrere Authdienste nach und nach "abzuklappern"
  • Oft wird zur lokalen Benutzerdatenbank noch Ldap genutzt.
  • Wenn Ldap keinen Erfolg liefert wird die Authentifizierung gegen die lokale Datenbank gecheckt.