AUTHSELECT\-PROFILES

Section: \ \& (5)
Updated: 2018-02-17
Page Index
 

NAME

authselect-profiles - hoe breid je authselect profielen uit.  

BESCHRIJVING

Deze handboekpagina legt uit hoe authselect profielen opgebouwd zijn en hoe je nieuwe profielen aanmaakt.  

PROFIELMAPPEN

Profielen in één van drie mappen gevonden worden.

/usr/share/authselect/default

Alleen-lezen map welke profielen bevat die tezamen met authselect geleverd worden.

/usr/share/authselect/vendor

Alleen-lezen map welke leverancier specifieke profielen bevat die de profielen in de standaard map kun overschrijven.

/etc/authselect/custom

Map voor profielen gedefinieerd door de beheerder.
 

PROFIELBESTANDEN

Elk profiel bestaat uit één of meer van deze bestanden die een verplichte profielbeschrijving bieden en de veranderingen beschrijven die in het systeem zijn aangebracht.

README

Beschrijving van het profiel. De eerste regel meot de naam van het profiel zijn.

system-auth

PAM stack die ingesloten wordt van bijna alle individuele service configuratiebestanden.

password-auth, smartcard-auth, fingerprint-auth

Deze PAM stacks zijn voor toepassingen die authenticatie afhandelen voor verschillende types apparaten via gelijktijdige uitvoering van individuele conversaties in plaats van een samengevoegde conversatie.

postlogin

Het doel van deze PAM stack is het bieden van een algemene plaats voor alle PAM modules die aangeroepen moeten worden na de stack geconfigureerd in system-auth of de andere algemene PAM configuratiebestanden. Het wordt ingevoegd vanuit alle individuele service configuratiebestanden die inlogservice bieden met shell of bestand toegang. MERK OP: de modules in de postlogin configuratiebestand worden uitgevoerd onafhankelijk van het succes of mislukken van de modules in het system-auth configuratiebestand.

nsswitch.conf

Naam Service Switch configuratiebestand. Alleen mappen relevant voor het profiel moeten ingesteld zijn. Mappen die niet door het profiel gespecificeerd worden worden ingevoegd uit /etc/authselect/user-nsswitch.conf.

dconf-db

Veranderingen in de dconf database. Het hoofdgebruik van dit bestand is het instellen van veranderingen voor het gnome inlogscherm voor het aan of uitzetten smartcard en and vingerafdruk authenticatie.

dconf-locks

Dit bestand definieert sloten voor waardes ingesteld in de dconf database.
 

CONDITIONELE REGELS

Elk van dezr bestanden dient als een sjabloon. Een sjabloon is een gewoon tekstbestand met optioneel gebruik van verschillende operatoren die gebruikt kunnen worden voor het bieden van optionele profieleigenschappen.

{continue if "feature"}

Stop onmiddellijk met het verwerken van het bestand behalve als "feature" gedefinieerd is (de rest van de bestandsinhoud zal verwijderd worden). Als "feature" gedefinieerd is, zal de gehele regel met deze operator verwijderd worden em de rest van de sjabloon zal verwerkt worden.

{stop if "feature"}

Tegenovergestelde van "continue if". Stop onmiddellijk met het verwerken van het bestand als "feature" gedefinieerd is (de rest van de bestandsinhoud zal verwijderd worden). Als "feature" niet gedefinieerd is, zal de gehele regel met deze operator verwijderd worden em de rest van de sjabloon zal verwerkt worden.

{include if "feature"}

Voeg de regel waarin deze operator geplaatst alleen in als "feature" gedefinieerd is.

{exclude if "feature"}

Tegenovergestelde van "include-if". Voeg de regel waarin deze operator geplaatst alleen in als "feature" niet gedefinieerd is.

{imply "implied-feature" if "feature"}

Zet feature "implied-feature" aan als feature "feature" aangezet is. De gehele regel met deze operator wordt verwijderd, het is dus niet mogelijk om iets toe te voegen rond deze operator op dezelfde regel.

{if "feature":true|false}

Als "feature" gedefinieerd is, wordt deze operator vervangen met de string "true", anders- met de string "false".

{if "feature":true}

Als "feature" gedefinieerd is, wordt deze operator vervangen met de string "true", anders- met een lege string.

Het is ook mogelijk om logische expressies in de conditionele regel te gebruiken in plaats van het specificeren van een enkele functienaam. In dit geval wordt de expressie geëvalueerd naar true of false en de conditionele operator zal handelen op het resultaat.

De expressie syntaxis bestaat uit functienamen (bijv. "feature") welke true teruggeeft als de functie gedefinieerd is of false als het niet gedefinieerd is en uit de volgende logische operatoren: and, or en not. De expressie kan ook tussen haakjes staan en meerdere sub-expressies bevatten.

Bijvoorbeeld:

{if "feature1" or "feature2":true}

Als "feature1" of "feature2" gedefinieerd is, wordt deze operator vervangen door de string "true", anders door een lege string.

{if not "feature":true|false}

Als "feature" niet gedefinieerd is, wordt deze operator vervangen met de string "true", anders- met de string "false".

{if not "feature":true}

Als "feature" niet gedefinieerd is, wordt deze operator vervangen met de string "true", anders- met een lege string.

{if "feature1" and ("feature2" or "feature3"):true}

Als "feature1", en één van "feature2" of "feature3" gedefinieerd zijn, wordt deze operator vervangen door de string "true", anders door een lege string.
 

VOORBEELD

Hier is een voorbeeld van het gebruik van de "if" operator. Als de "with-sudo" eigenschap 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 "continue-if" en "include-if" operatoren. Het resulterende bestand zal leeg zijn behalve als de "with-smartcard" eigenschap aangezet is. Als het aangezet is en ook de "with-faillock" eigenschap 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 try_first_pass
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 logische expressies. Het bestand zal leeg zijn tenzij "with-smartcard" og "with-smartcard-required" ingesteld is. Dit zal de aanroep van het authselect select commando vereenvoudigen omdat de<e niet beide functies hoeft te bevatten maar indien nodig alleen met "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 try_first_pass
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 "imply-if" operator. Het aanzetten van functie "with-smartcard-required" zal ook "with-smartcard" aanzetten om er zeker van te zijn dat alle relevante PAM modules gebruikt worden. Dit geeft hetzelfde gedrag als 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: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 ignore=ignore default=die] pam_sss.so try_cert_auth           {include if "with-smartcard"}
auth        sufficient                                   pam_unix.so {if not "without-nullok":nullok} try_first_pass
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, maak je een map aan in een van hierboven aangegeven authselect profiel locaties. Niet alle bestanden hoeven aanwezig te zijn, alleen README is verplicht. Andere bestanden kunnen waar nodig aangemaakt worden.

Misschien vind je het authselect create-profile commando handig bij het aanmaken van een nieuw profiel. Bekijk de authselect(8) handleiding of authselect create-profile --help voor meer informatie.  

ZIE OOK

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


 

Index

NAME
BESCHRIJVING
PROFIELMAPPEN
PROFIELBESTANDEN
CONDITIONELE REGELS
VOORBEELD
EEN NIEUW PROFIEL AANMAKEN
ZIE OOK