Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:pam

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:linux:pam [2019/08/16 20:24] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​linux|<​ Linux]]
  
 +====== PAM ======
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2011, 2012, 2013
 +  * Licenc: GNU Free Documentation License 1.3
 +  * Web: http://​szit.hu
 +
 +===== 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. ​
 +<​code>​
 +-auth   ​sufficient ​  ​pam_fingerprintd.so
 +</​code>​
 +
 +
 +==== 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
 +
 +<​code>​
 +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 ]
 +</​code>​
 +
 +==== 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 ====
 +
 +
 +  * http://​www.rjsystems.nl/​en/​2100-pam-debian.php
 +  * http://​www.freedesktop.org/​software/​systemd/​man/​pam_systemd.html
 +  * http://​content.hccfl.edu/​pollock/​AUnix2/​PAM-Help.htm
 +  * https://​unixlinux.tmit.bme.hu/​PAM
oktatas/linux/pam.txt · Utolsó módosítás: 2019/08/16 20:24 szerkesztette: admin