AUTHSELECT-PROFILES(5)

NAME
authselect-profiles - com estendre authselect profiles.

DESCRIPCIÓ

Aquesta pàgina del manual explica com s’organitzen els perfils d’authselect i com crear perfils nous.

DIRECTORIS DE PERFIL

Els perfils es poden trobar en un dels tres directoris.

"/usr/share/authselect/default"
    Directori de només lectura que conté perfils enviats juntament amb authselect.

"/usr/share/authselect/vendor"
    Directori de només lectura per a perfils específics del proveïdor que pot anul⋅lar els del directori predeterminat.

"/etc/authselect/custom"
    Lloc per a perfils definits per l’administrador.

FITXERS DE PERFIL

Cada perfil consta d’un o més d’aquests fitxers que proporcionen una descripció de perfil obligatòria i descriuen els canvis que es fan al sistema.

README
    Descripció del perfil. La primera línia ha de ser un nom del perfil.

system-aut
    Pila PAM que s’inclou des de gairebé tots els fitxers de configuració de servei individuals.

password-auth, smartcard-auth, fingerprint-auth
    Aquestes piles de PAM són per a aplicacions que manegen l’autenticació de diferents tipus de dispositius mitjançant l’execució simultània de converses individuals en lloc d’una conversa agregada.

postlogin
    El propòsit d’aquesta pila PAM és proporcionar un lloc comú per a tots els mòduls PAM que s’haurien de cridar després de la pila configurada en system-auth o els altres fitxers de configuració PAM comuns. S’inclou des de tots els fitxers de configuració de servei individuals que proporcionen servei d’inici de sessió amb shell o accés a fitxers. NOTA: els mòduls del fitxer de configuració postlogin s’executen independentment de l’èxit o la fallada dels mòduls del fitxer de configuració system-auth.

nsswitch.conf
    Nom del fitxer de configuració del commutador de serveis.

dconf-db
    Canvis a la base de dades dconf. El cas d’ús principal d’aquest fitxer és establir canvis per a la pantalla d’inici de sessió del gnome per tal d’habilitar o desactivar l’autenticació de targetes intel⋅ligents i empremtes digitals.

dconf-locks
    Aquest fitxer defineix els bloqueigs en els valors establerts a la base de dades dconf.

  LÍNIES CONDICIONALS

Cadascun d’aquests fitxers serveix com a plantilla. Una plantilla és un fitxer de text pla amb ús opcional de diversos operadors que es pot utilitzar per proporcionar algunes característiques de perfil opcionals.

{continue if "feature"}
    Atura immediatament el processament del fitxer llevat que es defineixi "funcionalitat" (s’eliminarà la resta del contingut del fitxer). Si es defineix "funció", s’eliminarà tota la línia amb aquest operador i es processarà la resta de la plantilla.

{stop if "feature"}
    Davant de "continuar si". Atura immediatament el processament del fitxer si es defineix "funcionalitat" (s’eliminarà la resta del contingut del fitxer). Si no es defineix "funció", s’eliminarà tota la línia amb aquest operador i es processarà la resta de la plantilla.

{include if "feature"}
    Inclou la línia on es col⋅loca aquest operador només si es defineix «feature».

{exclude if "feature"}
    Al contrari de «include-if». Inclou la línia on es col⋅loca aquest operador només si no es defineix «feature».

{imply "implied-feature" if "feature"}
    Habilita la característica «implied-feature» si la característica «feature» està activada. S’elimina tota la línia amb aquest operador, de manera que no és possible afegir res més al voltant d’aquest operador a la mateixa línia.

{if "feature":true"false}
    Si es defineix «feature», substituïu aquest operador amb la cadena «true», en cas contrari amb la cadena «false».

{if "feature":true}
    Si es defineix «feature», substituïu aquest operador amb la cadena «true», en cas contrari amb una cadena buida.

També és possible utilitzar l’expressió lògica en la línia condicional en lloc d’especificar un sol nom de característica. En aquest cas l’expressió s’avaluarà a veritable o fals i l’operador condicional actuarà sobre el resultat.

La sintaxi d’expressió consisteix en noms de característiques (p. ex. "funció") que retorna cert si la característica està definida o fals si no està definida i dels operadors lògics següents: i, o i no. L’expressió també es pot incloure entre parèntesis i conté múltiples subexpressions.

Per exemple:

{if "feature1" or "feature2":true}
    Si es defineix «feature1» o «feature2», substituïu aquest operador amb la cadena «true», en cas contrari amb una cadena buida.

{if not "feature":true|false}
    Si no es defineix «feature», substituïu aquest operador per la cadena «true», en cas contrari amb la cadena «false».

{if not "feature":true}
    Si «feature» no està definida, substituïu aquest operador amb la cadena «true», en cas contrari amb una cadena buida.

{if "feature1" and ("feature2" or "feature3"):true}
    Si es defineix "feature1", i una de "feature2" i "feature3" es defineix substitueix aquest operador per la cadena «true», en cas contrari amb una cadena buida.

  EXEMPLE

Heus aquí un exemple d’ús de l’operador "if". Si la característica "with-sudo" està activada, afegirà "sss" a la línia sudoers.

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

Heus aquí un exemple d’operadors "continue-if" i "include-if". El fitxer resultant estarà buit tret que la característica "with-smartcard" estigui activada. Si està habilitat i també està habilitada la característica "with-faillock", també habilitarà el suport per a pam_faillock.

    {continue if "with-smartcard"}
    auth        required                                     pam_env.so
    auth        required                                     pam_faildelay.so delay=2000000
    auth        required                                     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        sufficient                                   pam_unix.so nullok
    auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
    auth        sufficient                                   pam_sss.so forward_pass
    auth        required                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
    auth        required                                     pam_deny.so
    ...

Aquí hi ha un exemple de "continue-if" utilitzant l’expressió lògica. El fitxer estarà buit tret que s’estableixi "with-smartcard" o "with-smartcard-required". Això simplificarà la crida de l’ordre authselect select que no ha d’incloure les dues característiques, sinó que només cal "with-smartcard-required".

    {continue if "with-smartcard" or "with-smartcard-required"}
    auth        required                                     pam_env.so
    auth        required                                     pam_faildelay.so delay=2000000
    auth        required                                     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        sufficient                                   pam_unix.so nullok
    auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
    auth        sufficient                                   pam_sss.so forward_pass
    auth        required                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
    auth        required                                     pam_deny.so
    ...

Aquí hi ha un exemple d’operador "imply-if". Habilitant la característica "with-smartcard-required" també s’habilitarà "with-smartcard" per assegurar-se que s’utilitzen tots els mòduls PAM pertinents. Això aconseguirà el mateix comportament que l’exemple anterior.

    {imply "with-smartcard" if "with-smartcard-required"}
    auth        required                                     pam_env.so
    auth        required                                     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-required"}
    auth        [success=done ignore=ignore default=die]     pam_sss.so require_cert_auth ignore_authinfo_unavail             {include if "with-smartcard-required"}
    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        sufficient                                   pam_unix.so {if not "without-nullok":nullok}
    auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
    auth        sufficient                                   pam_sss.so forward_pass
    auth        required                                     pam_deny.so
    ...

CREACIÓ D’UN PERFIL NOU

Per a registrar un perfil nou dins d’authselect, creeu un directori en una de les ubicacions del perfil d’authselect amb els fitxers llistats a dalt. No tots els fitxers han d’estar presents, només README és obligatori. Es poden crear altres fitxers sobre la base necessària.

Podeu trobar l’ordre authselect create-profile útil en crear un perfil nou. Vegeu la pàgina del manual authselect(8) o authselect create-profile --help per a més informació.

VEGEU TAMBÉ

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