GNU/Linux >> Znalost Linux >  >> Linux

Pam – povinná a dostatečná kontrolní vlajka?

Studuji PAM a nemám ponětí o významu nějaké kombinace kontrolních příznaků. Z dokumentace Red Hatu máme:

  • požadované
    selhání takového PAM nakonec povede k selhání návratu PAM-API
    , ale pouze po vyvolání zbývajících modulů (pro tuto službu a typ)

  • nezbytné
    jako vyžadováno, avšak v případě, že takový modul vrátí chybu,
    je řízení vráceno přímo aplikaci.

  • dostatečný
    úspěch takového modulu stačí k uspokojení požadavků na autentizaci
    zásobníku modulů (pokud předchozí požadovaný modul selhal
    , úspěch tohoto modulu je ignorován). Selhání tohoto modulu se nepovažuje
    za kritické pro uspokojení aplikace, že tento typ uspěl. Pokud modul
    uspěje, rámec PAM vrátí úspěch aplikaci
    okamžitě, aniž by zkoušeli další moduly.

Takže, podle mého chápání, pokud je modul requisite selže, celý zásobník modulů nebude analyzován a řízení se okamžitě vrátí zpět do aplikace.
Pokud modul sufficient uspěje, zbytek zásobníku modulů nebude analyzován a řízení se okamžitě vrátí zpět do aplikace.
Pokud je modul required selže, bude analyzován celý zásobník.

Nyní nechápu, jaké bude chování, když bude určitý modul required selže a jiný modul sufficient uspěje.

Přijatá odpověď:

PAM postupuje postupně skrz položky na zásobníku. Uchovává si pouze vzpomínku na to, v jakém stavu se nachází (úspěch nebo zamítnutí, přičemž úspěch znamená dosavadní úspěch), nikoli na to, jak tohoto stavu dosáhl.

Pokud je položka označena jako sufficient uspěje, knihovna PAM přestane tento zásobník zpracovávat. K tomu dojde bez ohledu na to, zda byly předchozí required položky nebo ne. V tomto okamžiku PAM vrátí aktuální stav:úspěch, pokud není required položka selhala, jinak zamítnuta.

Podobně, pokud je položka označena jako requisite selže, knihovna PAM zastaví zpracování a vrátí chybu. V tomto okamžiku je irelevantní, zda je předchozí required položka se nezdařila.

Jinými slovy, required nemusí nutně způsobit zpracování celého zásobníku. Znamená to pouze pokračovat.

Související:Ovládání videa YouTube snímek po snímku?
Linux
  1. Uživatelé a skupiny clusteru

  2. Rozumíte komunikaci mezi Pam a démonem vědomým si Pam?

  3. Rozdíl mezi Nss a Pam?

  1. Vztah mezi řídicími znaky, signály a terminálem?

  2. Jaký je rozdíl mezi insmod a modprobe

  3. Vytvářejte a řiďte spouštěcí skripty v BusyBoxu

  1. Ovládejte čas a datum svého počítače pomocí systemd

  2. IP Forwarding =kdy a proč je to vyžadováno?

  3. Co je disperze NTP a jak ji mohu ovládat?