Obtendo o tempo de expiração da senha

16

Deixe-me começar com: NÃO tenho acesso root disponível.

Recentemente, fui bloqueado da minha conta porque não sabia que a expiração da senha estava chegando perto e depois decorri. Quero adicionar uma verificação ao meu script de inicialização que verifique e exiba a hora para que eu saiba quando está chegando.

Existe um comando ou maneira de obter o carimbo de data / hora quando minha senha de usuário expira?

steveo225
fonte

Respostas:

16

Você deve conseguir obter essas informações do chageutilitário. Não requer raiz para executar no modo de lista.

Nota: isso provavelmente só funciona para passwdautenticação local baseada em. Não sei se isso pode ser feito para funcionar com modos de autenticação que não colocam informações de login nos arquivos passwd/ shadow. Suponho que essas soluções fornecem suas próprias ferramentas, mas não as conhecemos.

$ 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

Usei isso com um rápido awk para exibir a data de validade da minha senha no login.

Esteira
fonte
Estranho, recebo um erro: usuário desconhecido. Eu até tentei whoami | xargs chage -lme certificar de que não estava fazendo algo obviamente errado.
precisa saber é o seguinte
O que whoami retorna e o que grep $(whoami) /etc/passwordfaz?
18712 Mat
Isso parece funcionar apenas se o usuário for local (não no LDAP ou em outro banco de dados).
Patrick
@ Patrick: você provavelmente está certo, e eu não tenho acesso a máquinas com esse tipo de configuração de autenticação. Portanto, não é possível fornecer informações adicionais.
18812 Mat
whoamiretorna meu nome de usuário apropriado, mas acredito que o sistema está usando LDAP.
steveo225
2

No LDAP, você fará algo como:

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

Desde chageque você pode fazer várias alterações e podem conhecer os detalhes de login da seguinte forma ...

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 você tiver acesso root, poderá alterar sua senha para expirar, basta editar.

vim /etc/login.defs

basta configurar os vlaues abaixo ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Isso pode ajudá-lo

Vinood NK Maheshwari
fonte