Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:pam

< Linux

PAM

Bevezetés

A PAM a Pluggable Authentication Modules rövidítése.

1990-ben a Sun Microsystems' SunSoft fejlesztőcsoportja hozza létre.

Egy hozzáférési metódus jelszavak, smartkártyák, biometrikus azonosításhoz, egy egységes felületet nyújtva a programozók számára.

Beállítás

A szolgáltatások

Eredetileg egyetlen konfigurációs állomány volt, melynek tartalma:

szolgáltatás-típus	module-típusa	kontroll		modul-útvonal	argumentumok

A szolgáltatás típusa általában a következő fájlból egy:

/etc/services

Ilyeneket kell keresni mint:login, su, sshd vagy xdm, stb.

A Debian a Lenny óta az alábbi könyvtárat használja:

/etc/pam.d/

A könyvtár a szolgáltatás nevével megegyező néven létrehozunk egy szolgáltatást leíró állományt, amelynek a szintaxisa a következő:

modul-típusa	kontroll		modul-útvonal	argumentumok

Modul-típusa

Négy különböző típus adható meg:

auth Azonosítás, engedély. Azonosítás felhasználónév, jelszóval.
Visszatérés sikeres vagy sikertlene.
Garantálva csoport tagság és más privilégiumok
account Számla (Account) kezelés. Gyakran előfordul korlátozás.
Például: a nap bizonyos időszakában, vagy csak bizonyos erőforrásokat használva léphet be, stb.
password Jelszókezelés. Szükséges a jelszóazonosító frissítése. Általában kérés válasz alapú hitelesítés
session Munkamenet-kezelés. Elvégzi a szükséges feladatokat, például naplózás, csatolás, stb.

Ha egy modul hiányzik, akkor a hiba naplózva lesz, például syslog démon által. Ha a konfigurációs állomány sorát egy kötőjel vezeti be akkor a naplózás elmarad. Például a fingerprint azonosítás nem áll rendelkezésre, de ha lesz ilyen használni akarjuk.

-auth   sufficient   pam_fingerprintd.so

Kontroll

A kontrollmező megadja, mit történjen, ha az adott PAM modul sikertelenül teljesít. Kétféle szintaktika ismeretes: az egyik amikor magában leírom a direktívát, és amikor érték=akció párost használunk.

Egyszerű direktívák

  • required
    • Az egész sikertelen, ha modul nem teljesít, de csak az egész folyamat végén
  • requisite
    • Ugyanaz, kivéve, hogy ha sikertelen modul visszatér az alkalmazásra. Gyakran használják extra biztonsági intézkedésre.
  • sufficient
    • Ha sikertelen, a következő szabályra lép
  • optional
    • Ez a modul csak akkor fontos, ha ez az egyetlen.

Változó értékpár

Általános alak [érték1=tevékenység1 érték2=tevékenység2 …]

A következő változók a modulok visszatérési kódjai:

  • abort - Kritikus hiba (a modul sikertelen „fail now”).
  • acct_expired - A felhasználói hozzáférés lejárt.
  • auth_err - Azonosítás sikertlen.
  • authinfo_unavail - Az azonosítás alapjául szolgáló információ elérhetetlen.
  • authtok_disable_aging - Az azonosító bejegyzés elavult, nincs engedélyezve.
  • authtok_err - Azonosító bejegyzés manipulációs hiba.
  • authtok_expired - Az azonosító bejegyzés lejárt.
  • authtok_lock_busy - Az azonosító bejegyzés foglalt.
  • authtok_recover_err - Az azonítási információ nem állítható vissza.
  • bad_item - A pam_*_item() rész rossz.
  • buf_err - Memória buffer hiba.
  • conv_again - A párbeszéd funkció esemény vezérelt, és az adatok még nem állnak rendelkezésre.
  • conv_err - Párbeszéd hiba.
  • cred_err - Sikertelen a felhasználó megbízás beállítása.
  • cred_expired - A felhasználó megbízása lejárt.
  • cred_insufficient - Nem lehet hozzáférni a megbízáshoz, a hitelesítési adatok elégtelensége miatt.
  • cred_unavail - A felhasználó megbízás nem hozzáférhető; Az alapul szolgáló hitelesítési szolgáltatás nem tudja letölteni.
  • default - Az összes érték
  • ignore - Figyelmen kívül hagyja a modult függetlenül attól, hogy a kontroll résznél mi lett beállítva. Például: opcionális, vagy elégséges.
  • incomplete - Újra próbálkozunk a hitelesítéssel, majd újra ellenőrizzük.
  • maxtries - Az újrapróbálkozások elérték a maximális lehetőséget. Nincs több lehetőség.
  • module_unknown - A modul ismeretlen.
  • new_authtok_reqd - Új azonosítóbejegyzés szükséges. Ez normális, ha megköveteljük a jelszócserét, vagy a jelszó NULL.
  • no_module_data - Nincs a modulnak megfelelő adat jelen.
  • open_err - A modult nem tudom betölteni.
  • perm_denied - Engedély megtagadva.
  • service_err - Hiba a szolgáltatómodulban.
  • session_err - Cannot make or remove an entry for the specified session.
  • success - Sikeres függvényvisszatérés.
  • symbol_err - A szimbólum nem található.
  • system_err - Rendszerhiba.
  • try_again - Előzetes jelszavas ellenőrzés.
  • user_unknown - A felhasználó ismeretlen az alapazonosító modul számára.

Tevékenységek előjel nélküli egészek, amelyek a következők lehetnek:

  • ignore − A modul nincs hatással más modulokra.
  • bad − A modul sikertelen. Ha ez az első hiba a többi modul ezt az értéket felhasználja.
  • die − Ugyanaz, kivéve, hogy nincs több ellenőrzés, a végeredmény sikertelen.
  • ok − Az előző sikeres visszatérési kód felülírva.
  • done − Ugyanaz, kivéve, hogy több ellenőrzés nincs.
  • reset − Törli a memóriát és a verem következő moduljával folytatjuk.

Néhány példa

required	 =	 [	 success=ok	 new_authtok_reqd=ok	 ignore=ignore	 default=bad	 ]
requisite	 =	 [	 success=ok	 new_authtok_reqd=ok	 ignore=ignore	 default=die	 ]
sufficient	 =	 [	 success=done	 new_authtok_reqd=done		 default=ignore	 ]
optional	 =	 [	 success=ok	 new_authtok_reqd=ok		 default=ignore	 ]

Modul útvonal

Teljes elérési út a modul fájlnevével, kiterjesztésével együtt. A modulokk a /lib/security/ könyvtárban találhatók a Debian lenny óta. A modulok fájlnevei így épülnek fel:

pam_<név>.so

A Linux-PAM System Administrator's Guide tartalmazza az alapmodulok leírását.

Irodalom

Kézikönyv

  • man pam_unix

Linkek

oktatas/linux/pam.txt · Utolsó módosítás: 2023/08/20 23:02 szerkesztette: admin