table of contents
        
      
      
    | AUTHSELECT-PROFILES(5) | AUTHSELECT-PROFILES(5) | 
NAME¶
authselect-profiles - hoe u authselect-profielen uitbreidt.
BESCHRIJVING¶
Deze pagina legt uit hoe authselect-profielen gestructureerd zijn en hoe u nieuwe profielen maakt.
MAPPEN MET PROFIELEN¶
Profielen kunnen gevonden worden in één van drie mappen.
/usr/share/authselect/default
/usr/share/authselect/vendor
/etc/authselect/custom
PROFIELBESTANDEN¶
Elk profiel bestaat uit één of meer van deze bestanden die een verplichte profielbeschrijving bieden en de veranderingen beschrijven die in het systeem worden aangebracht.
LEES MIJ
system-auth
password-auth, smartcard-auth, fingerprint-auth
postlogin
nsswitch.conf
dconf-db
dconf-locks
VOORWAARDELIJKE REGELS¶
Elk van deze bestanden dient als een sjabloon. Een sjabloon is een gewoon tekstbestand met optioneel gebruik van verschillende operatoren om bijzondere profielfuncties te kunnen verkrijgen.
{continue if "feature"}
{stop if "feature"}
{include if "feature"}
{exclude if "feature"}
{imply "implied-feature" if "feature"}
{if "feature":true|false}
{if "feature":true}
Het is ook mogelijk logische expressies in de voorwaardelijke regel te gebruiken in plaats van een enkele functie te noemen. In dit geval zal de expressie geëvalueerd worden tot true of false en de voorwaardelijke operator zal handelen naar de uitkomst.
De syntaxis van een expressie bestaat uit de namen van functies (bijv. "feature"), die true retourneren als de functie gedefinieerd is en in false als hij niet gedefinieerd is, en uit de volgende logische operatoren: and, or en not. De expressie mag tussen haakjes gezet worden en mag meerdere expressies bevatten.
Bijvoorbeeld:
{if "feature1" or "feature2":true}
{if not "feature":true|false}
{if not "feature":true}
{if "feature1" and ("feature2" or "feature3"):true}
VOORBEELD¶
Hier is een voorbeeld van het gebruik van de operator "if". Als de functie "with-sudo" aangezet is, zal het "sss" torvoegen aan de sudoers-regel.
passwd:     sss bestanden
group:      sss bestanden
netgroup:   sss bestanden
automount:  sss bestanden
services:   sss bestanden
sudoers:    bestanden {if "with-sudo":sss}
Hier is een voorbeeld van de operatoren "continue-if" en "include-if". Het resulterende bestand zal leeg zijn tenzij de functie "with-smartcard" aangezet is. Als het aangezet is en ook de functie "with-faillock" aangezet is, zal het ook ondersteuning voor pam_faillock aanzetten.
{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
...
Hier is een voorbeeld van "continue-if" met gebruik van een logische expressie. Het bestand zal leeg zijn tenzij "with-smartcard" of "with-smartcard-required" ingesteld is. Dit zal de aanroep van authselect select vereenvoudigen omdat deze niet beide functies hoeft te bevatten, alleen "with-smartcard-required" is nodig.
{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
...
Hier is een voorbeeld van de operator "imply-if". Het aanzetten van de functie "with-smartcard-required" zal ook "with-smartcard" aanzetten om er zeker van te zijn dat alle relevante PAM modules gebruikt worden. Dit zal leiden tot hetzelfde gedrag als bij het vorige voorbeeld.
{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
...
EEN NIEUW PROFIEL AANMAKEN¶
Om binnen authselect een nieuw profiel te registreren, maakt u een map aan in een van de authselect-profiellocaties en vult u de map met de bestanden die hierboven genoemd werden. Niet alle bestanden hoeven aanwezig te zijn, alleen README is verplicht. Andere bestanden kunnen naar behoefte toegevoegd worden.
Misschien vindt u het commando authselect create-profile behulpzaam voor het aanmaken van een nieuw profiel. Raadpleeg de online handleiding met man authselect(8) of type authselect create-profile --help voor meer informatie.
ZIE OOK¶
| 2018-02-17 |