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 |