AUTHSELECT-PROFILES(5)

NAME
authselect-profiles - kuinka laajentaa authselect-profiilit.

KUVAUS

Tällä ohjesivulla kerrotaan, kuinka authselect-profiilit on järjestetty ja kuinka uusia profiileja luodaan.

PROFIILIHAKEMISTOT

Profiilit löytyvät yhdestä kolmesta hakemistosta.

"/usr/share/authselect/default"
    Vain luku -hakemisto, joka sisältää authselectin mukana toimitetut profiilit.

"/usr/share/authselect/vendor"
    Vain luku -hakemisto toimittajakohtaisille profiileille, jotka voivat ohittaa default-hakemistossa olevat profiilit.

"/etc/authselect/custom"
    Paikka järjestelmänvalvojan määrittämille profiileille.

PROFIILITIEDOSTOT

Jokainen profiili koostuu yhdestä tai useammasta näistä tiedostoista, jotka sisältävät pakollisen profiilikuvauksen ja kuvaavat järjestelmään tehtyjä muutoksia.

LUE MINUT
    Profiilin kuvaus. Ensimmäisen rivin tulee olla profiilin nimi.

system-auth
    PAM-pino, joka sisältyy lähes kaikkiin yksittäisiin palvelun kokoonpanotiedostoihin.

password-auth, smartcard-auth, fingerprint-auth
    Nämä PAM-pinot on tarkoitettu sovelluksille, jotka käsittelevät todennusta eri tyyppisistä laitteista suorittamalla samanaikaisesti yksittäisiä keskusteluja yhden yhteiskeskustelun sijaan.

postlogin
    Tämän PAM-pinon tarkoitus on tarjota yhteinen paikka kaikille PAM-moduuleille, jotka tulee kutsua system-auth-tiedostossa määritetyn pinon tai muiden yleisten PAM-määritystiedostojen jälkeen. Se sisältyy kaikkiin yksittäisiin palvelun määritystiedostoihin, jotka tarjoavat kirjautumispalvelun komentotulkin tai tiedostojen käyttöoikeuksilla. HUOMAUTUS: kirjautumisen jälkeisen määritystiedoston moduulit suoritetaan riippumatta siitä, onnistuvatko moduulit system-authin kokoonpanotiedostossa.

nsswitch.conf
    Name Service Switch -määritystiedosto.

dconf-db
    Muutokset dconf-tietokantaan. Tämän tiedoston pääasiallinen käyttötapa on tehdä muutoksia Gnome-kirjautumisnäytölle, jotta älykortti- ja sormenjälkitunnistus voidaan ottaa käyttöön tai poistaa käytöstä.

dconf-locks
    Tämä tiedosto määrittää lukot dconf-tietokannassa asetettuihin arvoihin.

  EHDOLLISET LINJAT

Jokainen näistä tiedostoista toimii mallina. Malli on pelkkä tekstitiedosto, jossa on valinnainen useiden operaattoreiden käyttö ja jota voidaan käyttää tarjoamaan joitain valinnaisia profiiliominaisuuksia.

{jatka jos ominaisuus}
    Lopeta tiedoston käsittely välittömästi, ellei "ominaisuus" ole määritetty (muu tiedoston sisältö poistetaan). Jos "ominaisuus" on määritetty, koko rivi tällä operaattorilla poistetaan ja mallin loppuosa käsitellään.

{stop if ominaisuus}
    "Continue if":n vastakohta. Lopeta tiedoston käsittely välittömästi, jos "feature" on määritelty (tiedoston loppusisältö poistetaan). Jos "feature" ei ole määritelty, koko tätä operaattoria sisältävä rivi poistetaan ja loput mallineesta käsitellään.

{sisällytä jos’ominaisuus'}
    Sisällytä rivi, jolle tämä operaattori sijoitetaan, vain jos "feature" on määritelty.

{suorita jos "ominaisuus"}
    Vastakohtana "include-if". Sisällytä rivi, jolle tämä operaattori sijoitetaan, vain jos "feature"-operaattoria ei ole määritelty.

{imply implied-feature jos ominaisuus}
    Ota ominaisuus "implied-feature" käyttöön, jos ominaisuus "feature" on käytössä. Koko operaattoria sisältävä rivi poistetaan, joten operaattorin ympärille ei voi lisätä mitään muuta samalle riville.

{jos ominaisuus:tosi|epätosi}
    Jos ominaisuus on määritelty, korvaa tämä operaattori merkkijonolla true, muuten merkkijonolla false.

{jos"ominaisuus":tosi}
    Jos ominaisuus on määritelty, korvaa tämä operaattori merkkijonolla true, muuten tyhjällä merkkijonolla.

On myös mahdollista käyttää loogista lauseketta ehdollisena rivissä yksittäisen ominaisuuden nimen määrittämisen sijaan. Tässä tapauksessa lauseke arvioidaan tosi tai epätosi ja ehdollinen operaattori reagoi tulokseen.

Lausekkeen syntaksi koostuu ominaisuuksien nimistä (esim. 'feature'), jotka palauttavat true, jos ominaisuus on määritelty, tai false, jos sitä ei ole määritelty, ja seuraavista loogisista operaattoreista: and, or ja not. Lauseke voi myös olla sulussa ja sisältää useita alilausekkeita.

Esimerkiksi:

{jos "ominaisuus1" tai "ominaisuus2":tosi}
    Jos feature1 tai feature2 on määritelty, korvaa tämä operaattori merkkijonolla true, muuten tyhjällä merkkijonolla.

{jos ei ominaisuus:totta|epätosi}
    Jos ominaisuus ei ole määritelty, korvaa tämä operaattori merkkijonolla true, muuten merkkijonolla false.

{jos ei ominaisuus:true}
    Jos ominaisuus ei ole määritelty, korvaa tämä operaattori merkkijonolla true, muuten tyhjällä merkkijonolla.

{jos ominaisuus1 ja (ominaisuus2 tai ominaisuus3):tosi}
    Jos feature1 on määritelty ja jompikumpi feature2 ja feature3 on määritelty, korvaa tämä operaattori merkkijonolla true, muuten tyhjällä merkkijonolla.

  ESIMERKKI

Tässä on esimerkki "if"-operaattorin käytöstä. Jos "with-sudo"-ominaisuus on otettu käyttöön, se lisää "sss":n sudoers-riville.

    passwd:     sss files
    group:      sss files
    netgroup:   sss files
    automount:  sss files
    services:   sss files
    sudoers:    files {if "with-sudo":sss}

Tässä on esimerkki "continue-if"- ja "include-if"-operaattoreista. Tuloksena oleva tiedosto on tyhjä, ellei "with-smartcard"-ominaisuus ole käytössä. Jos se on käytössä ja myös "with-faillock"-ominaisuus on käytössä, se ottaa myös pam_faillock-tuen käyttöön.

    {continue if "with-smartcard"}
    auth        vaadittu                                     pam_env.so
    auth        vaadittu                                     pam_faildelay.so delay=2000000
    auth        vaadittu                                     pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"}
    auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
    auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
    auth        riittävä                                     pam_unix.so nullok
    auth        vaatimus                                     pam_succeed_if.so uid >= 1000 quiet_success
    auth        riittävä                                     pam_sss.so forward_pass
    auth        vaadittu                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
    auth        vaadittu                                     pam_deny.so
    ...

Tässä on esimerkki "continue-if"-komennosta, joka käyttää loogista lauseketta. Tiedosto on tyhjä, ellei "with-smartcard" tai "with-smartcard-required" ole asetettu. Tämä yksinkertaistaa authselect select -komennon kutsua, jonka ei tarvitse sisältää molempia ominaisuuksia, mutta vain "with-smartcard-required" on tarpeen.

    {continue if "with-smartcard" or "with-smartcard-vaadittu"}
    auth        vaadittu                                     pam_env.so
    auth        vaadittu                                     pam_faildelay.so delay=2000000
    auth        vaadittu                                     pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"}
    auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
    auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
    auth        riittävä                                     pam_unix.so nullok
    auth        vaatimus                                     pam_succeed_if.so uid >= 1000 quiet_success
    auth        riittävä                                     pam_sss.so forward_pass
    auth        vaadittu                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
    auth        vaadittu                                     pam_deny.so
    ...

Tässä on esimerkki "implicy-if"-operaattorista. Ominaisuuden "with-smartcard-required" käyttöönotto ottaa myös "with-smartcard"-ominaisuuden käyttöön, jotta kaikki asiaankuuluvat PAM-moduulit ovat käytössä. Tämä toimii samalla tavalla kuin edellisessä esimerkissä.

    {imply "with-smartcard" if "with-smartcard-vaadittu"}
    auth        vaadittu                                     pam_env.so
    auth        vaadittu                                     pam_faildelay.so delay=2000000
    auth        [success=1 default=ignore]                   pam_succeed_if.so service notin login:gdm:xdm:kdm:kde:xscreensaver:gnome-screensaver:kscreensaver quiet use_uid {include if "with-smartcard-vaadittu"}
    auth        [success=done ignore=ignore default=die]     pam_sss.so require_cert_auth ignore_authinfo_unavail             {include if "with-smartcard-vaadittu"}
    auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
    auth        [default=1 ignore=ignore success=ok]         pam_localuser.so                                                 {exclude if "with-smartcard"}
    auth        [default=2 ignore=ignore success=ok]         pam_localuser.so                                                 {include if "with-smartcard"}
    auth        [success=done authinfo_unavail=ignore user_unknown=ignore ignore=ignore default=die] pam_sss.so try_cert_auth {include if "with-smartcard"}
    auth        riittävä                                     pam_unix.so {if not "without-nullok":nullok}
    auth        vaatimus                                     pam_succeed_if.so uid >= 1000 quiet_success
    auth        riittävä                                     pam_sss.so forward_pass
    auth        vaadittu                                     pam_deny.so
    ...

UUDEN PROFIILIN LUOMINEN

Rekisteröidäksesi uuden profiilin authselectissä, luo hakemisto johonkin authselect-profiilin sijaintiin ja lisää siihen yllä luetellut tiedostot. Kaikkien tiedostojen ei tarvitse olla hakemistossa, vain README on pakollinen. Muita tiedostoja voi luoda tarpeen mukaan.

Komennosta authselect create-profile voi olla hyötyä uutta profiilia luotaessa. Katso lisätietoja authselect(8)-käyttöohjeesta tai authselect create-profile --help.

KATSO MYÖS

authselect(8), nsswitch.conf(5), PAM(8)