GNU/Linux >> Linux Esercitazione >  >> Linux

PAM per esempio:usa authconfig per modificare PAM

I moduli di autenticazione pluggable (PAM) sono in circolazione in Linux da molto tempo ormai. L'obiettivo di PAM è centralizzare i requisiti di autenticazione e autenticazione per servizi e moduli.

In un recente articolo che introduce PAM, ho menzionato che molte modifiche alla configurazione vengono apportate utilizzando altre utilità. Una di queste utilità è authconfig . Questo strumento viene utilizzato con Red Hat Enterprise Linux, fino a RHEL7 incluso. Le ultime versioni di Fedora e RHEL8 usano authselect invece, anche se potresti trovare authconfig utility in modalità compatibilità.

Il authconfig strumento è stato creato per assistere nella configurazione del client per l'autenticazione centralizzata. I file PAM sono solo una parte di questa configurazione. Ad esempio, utilizzando authconfig per abilitare l'autenticazione Kerberos, apporta modifiche a /etc/nsswitch.conf e il /etc/krb5.conf oltre ad aggiungere il pam_krb5 modulo al /etc/pam.d/{system,password}-auth File. È ora possibile anche una configurazione PAM aggiuntiva con authconfig strumento, come vedremo negli esempi seguenti.

Tre interfacce authconfig

Come molte utilità di configurazione del sistema, l'autenticazione può essere configurata con uno strumento di interfaccia utente grafica (GUI), tramite un'interfaccia di testo interattiva (TUI) o dalla riga di comando. Diamo un'occhiata a tutte e tre le opzioni.

Lo strumento grafico è fornito da authconfig-gtk pacchetto. Questa utility ha più schede per organizzare le opzioni:

Si accede alla versione testuale interattiva ("TUI") con il authconfig-tui comando. Usa il TAB tasto per spostare i campi e il SPACE barra per selezionare o deselezionare le opzioni:

Infine, c'è lo strumento da riga di comando con script authconfig . Questo comando ha anche molte opzioni descritte con --help opzione e in man pagina.

Le versioni grafica e testuale sono interattive, ma hanno opzioni limitate. Ad esempio, puoi abilitare l'autenticazione utilizzando un lettore di impronte digitali in tutte e tre le interfacce, ma solo lo strumento della riga di comando ha un'opzione per configurare il pam_faillock modulo. Modifiche alla sicurezza della password utilizzando pam_pwquality modulo sono realizzati con lo strumento grafico e lo strumento a riga di comando ma non l'interfaccia di testo interattiva.

Primo esempio:abilitare il lettore di impronte digitali

Prima di arrivare alle specifiche dell'utilizzo delle opzioni della riga di comando, diamo un'occhiata alle modifiche apportate abilitando il lettore di impronte digitali utilizzando authconfig-tui o authconfig-gtk :

[demo]$ grep fprintd /etc/pam.d/* # before enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so

Con l'opzione disabilitata, solo fingerprint-auth contiene riferimenti a fprintd modulo. Dopo aver abilitato l'opzione, vengono aggiunte nuove linee a /etc/pam.d/system-auth file:

[demo]$ grep fprintd /etc/pam.d/* # after enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth-ac:auth        sufficient    pam_fprintd.so

Secondo esempio:impostazioni pwquality

Lo strumento grafico dispone anche di Opzioni password scheda che controlla il /etc/security/pwquality file:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # before changing a field

Questo file contiene molti commenti utili che mostrano la sintassi e i valori predefiniti. Dopo aver modificato uno dei campi, tutte le opzioni vengono impostate alla fine del file:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # after changing a field
minlen = 12
minclass = 2
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = 0
dcredit = 0
ocredit = 0

Ho modificato la lunghezza richiesta e il numero richiesto di classi di caratteri.

Utilizzare lo strumento CLI authconfig

Una delle cose difficili da ricordare quando si usa authconfig alla riga di comando è aggiungere il --update opzione. C'è un --test opzione per controllare la sintassi, un --update opzione per aggiornare authconfig informazioni e i file di configurazione effettivi per le opzioni specificate e un --updateall opzione che reimposta tutti i file di configurazione in modo che corrispondano a authconfig impostazioni. Il --updateall è un ottimo modo per eliminare tutte le modifiche manuali che un amministratore potrebbe aver apportato al sistema. Il mio flusso di lavoro in genere utilizza solo il --update opzione per ogni modifica.

Se esegui authconfig comandi come un utente normale, ti viene richiesta una password per aumentare i privilegi prima che i comandi vengano eseguiti. Questo vale anche con --help domande:

[demo]# authconfig --help
Usage: authconfig [options] {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}

Options:
...omitted...
  --test                  do not update the configuration files, only print new settings
  --update, --kickstart   opposite of --test, update configuration files with changed settings
  --updateall             update all configuration files

Come visto nelle versioni GUI e TUI, l'autenticazione tramite impronta digitale è un interruttore on/off. Le opzioni della riga di comando sono:

[demo]# authconfig --help | grep finger
    --enablefingerprint     enable authentication with fingerprint readers by default
    --disablefingerprint    disable authentication with fingerprint readers by default

E il comando per abilitare la funzione di impronta digitale è:

[demo]# authconfig --enablefingerprint --update

Le impostazioni della password disponibili nella versione GUI ma non nella versione TUI possono essere impostate anche dalla riga di comando.

[demo]# authconfig --help | grep passmin
  --passminlen=<number>          minimum length of a password
  --passminclass=<number>        minimum number of character classes in a password

Puoi impostare più opzioni contemporaneamente:

[demo]# authconfig --passminlen=12 --passminclass=2 --update

Dal momento che non tutti i pwquality le impostazioni possono essere effettuate con tutte le versioni di authconfig , è comune utilizzare una delle opzioni della riga di comando, come --passminlen opzione, per configurare inizialmente il /etc/security/pwquality file. L'utilità imposta i valori per tutte le opzioni nella parte inferiore del file. Un amministratore può quindi modificare manualmente uno qualsiasi di questi campi facilmente con un sed comando o utilizzando il lineinfile di Ansible modulo.

Il faillock module è un esempio di modifica ai file di configurazione PAM disponibile solo con la versione da riga di comando di authconfig . Questo modulo conta i tentativi di autenticazione falliti per utente durante un intervallo specificato e blocca l'account se sono presenti troppe autenticazioni consecutive non riuscite.

[demo]# authconfig --help | grep fail
  --enablefaillock           enable account locking in case of too many consecutive authentication failures
  --disablefaillock          disable account locking on too many consecutive authentication failures
  --faillockargs=<options>   the pam_faillock module options

Il faillock anche il modulo è leggermente diverso. Ci sono opzioni per abilitare e disabilitare, ma c'è anche un'opzione per passare argomenti. La soglia di conteggio può essere regolata, così come la durata dell'intervallo e il timeout di sblocco. Puoi anche scegliere se il modulo si applica solo agli utenti ordinari o anche all'account root. La pagina man di pam_faillock mostra le opzioni valide e gli esempi della riga finale nel /etc/pam.d/* File. Il --faillockargs opzione per authconfig si aspetta una stringa tra virgolette di tutte le opzioni impostate nei file PAM. Se lo lasci disattivato, vengono utilizzate le opzioni predefinite del modulo.

Quando disabilitato, non ci sono riferimenti a pam_faillock modulo. Tuttavia, se grep solo per fallire potresti vedere il pam_faildelay modulo:

[demo]# grep faillock /etc/pam.d/* # before enabling the faillock module

Assicurati di citare il faillock argomenti se includi tale opzione:

[demo]# authconfig --enablefaillock --faillockargs='deny=4 unlock_time=300' --update

Dopo aver abilitato il modulo, vengono aggiunte diverse righe a diversi /etc/pam.d/*auth file.

E le modifiche manuali ai file PAM?

Durante l'esplorazione dei file PAM modificati da authconfig , potresti notare che diversi file nel /etc/pam.d directory hanno un commento in alto sulle modifiche manuali che vengono sovrascritte dall'utilità. L'utilità è stata ampliata per coprire molte delle funzionalità PAM standard, ma a volte è necessario apportare modifiche manuali. Se apporti modifiche manuali, devi disabilitare le modifiche direttamente da authconfig .

C'è un articolo di knowledge base e un post sul blog di servizi che forniscono i passaggi per le modifiche manuali. Puoi anche trovare esercizi di formazione formale per le modifiche manuali e approfondire diversi moduli specifici frequentando il corso Red Hat Security:Linux in Physical, Virtual, and Cloud (RH415).

Dopo tutto questo, è uno strumento deprecato?

Il authconfig le utilità sono state originariamente create per assistere nella configurazione di diversi tipi di autenticazione centralizzata. Nel corso degli anni si è ampliato per gestire anche altre configurazioni PAM. Nei sistemi attuali, la maggior parte dell'autenticazione centralizzata è ora configurata tramite ipa-client-install o realmd , entrambi si aspettano il sssd e il pam_sss moduli. Il authselect l'utilità sostituisce authconfig nelle recenti versioni di Fedora ed è stato introdotto in Red Hat Enterprise Linux con la versione 8. Questo nuovo strumento gestisce le configurazioni attraverso i profili e non modifica più tutti i diversi file di configurazione centralizzati. Il focus è su /etc/nsswitch.conf file e i file di configurazione PAM. Ha molte opzioni simili per abilitare e disabilitare funzioni come lettori di impronte digitali, smartcard e faillock modulo. Puoi saperne di più sulla migrazione con man authselect-migration .

[ Download gratuito:cheat sheet dei comandi avanzati di Linux. ]


Linux
  1. Come utilizzare lo strumento Domini cPanel

  2. Come utilizzare lo strumento da riga di comando sipcalc Linux

  3. Come utilizzare lo strumento di aggiornamento RedHat per aggiornare CentOS da 6.x a CentOS 7?

  4. Utilizzare l'espansione dei parametri per modificare l'output di un'altra espansione?

  5. Come installare e utilizzare Mosh Command Line Tool Linux

Come utilizzare lo strumento MySQL Optimize

Come utilizzare lo strumento di gestione dei progetti ONLYOFFICE

Come installare e utilizzare lo strumento di monitoraggio delle risorse Bpytop su Ubuntu 20.04

Come usare execl (esempio incluso)

Personalizza Okular per modificare le proprietà dello strumento di evidenziazione

Strumento di controllo grammaticale da utilizzare con LaTeX?