Ottenere la password scade il tempo


16

Consentitemi di prefigurarlo con: NON ho accesso root disponibile.

Recentemente sono stato bloccato fuori dal mio account perché non sapevo che la scadenza della password si stesse avvicinando, quindi è scaduta. Voglio aggiungere un segno di spunta al mio script di avvio che controlla e visualizza l'ora in modo da sapere quando si avvicina.

Esiste un comando o un modo per ottenere il timestamp alla scadenza della mia password utente?

Risposte:


16

Dovresti essere in grado di ottenere tali informazioni chagedall'utilità. Non richiede l'esecuzione di root in modalità elenco.

Nota: molto probabilmente funziona solo per l' passwdautenticazione locale basata su. Non so se può essere fatto funzionare con modalità di autenticazione che non mettono le informazioni di accesso nei file passwd/ shadow. Immagino che queste soluzioni forniscano i propri strumenti, ma non ne sono a conoscenza.

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

L'ho usato con un rapido awk per visualizzare la data di scadenza della mia password all'accesso.


Strano, ricevo un errore: utente sconosciuto. Ho anche cercato whoami | xargs chage -ldi assicurarmi di non fare qualcosa di ovviamente sbagliato.
steveo225,

Cosa ritorna whoami e cosa fa grep $(whoami) /etc/password?
Mat

Questo sembra funzionare solo se l'utente è locale (non in LDAP o altro database).
Patrick,

@Patrick: probabilmente hai ragione, e non ho accesso alle macchine con quel tipo di configurazione di autenticazione. Quindi non è possibile fornire informazioni aggiuntive.
Mat

whoamirestituisce il mio nome utente corretto, ma credo che il sistema stia utilizzando LDAP.
steveo225,

2

In LDAP farai qualcosa del tipo:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'

0

Da qui chagepuoi apportare più modifiche e conoscere i dettagli di accesso come segue ...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

e se si dispone dell'accesso root, è possibile modificare il tempo di scadenza della password semplicemente modificare ..

vim /etc/login.defs

basta impostare i seguenti sotto ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Potrebbe esserti d'aiuto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.