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.
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
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
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.
Á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:
Tevékenységek előjel nélküli egészek, amelyek a következők lehetnek:
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 ]
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.