dump / output / list Informações de expiração da senha do Linux para todos os usuários

6

Contexto

Então eu configurei um novo servidor Debian e adicionei alguns usuários para o espaço web, etc, o assunto usual.

Avança 180 dias e os usuários começam a reclamar que seus logins não estão funcionando. Dado que mais de uma pessoa trouxe, eu verifiquei os logs de autenticação e ... BOOM. Logins com falha devido à expiração da senha. Dang!

O Silly me não considerou a política de expiração de senha neste servidor em particular.

Observe que esses usuários não têm direitos de shell, mas podem fazer login por meio do sftp para gerenciar seu espaço na web. Então, eles não teriam sido lembrados sobre o vencimento ou tinham a capacidade de alterar a senha, mesmo que soubessem. Pelo que eu posso dizer, o erro estava sendo apenas do lado do servidor. Lado do cliente, foi um erro de autenticação genérico.

Pergunta

Como posso interrogar facilmente o servidor para obter as informações de expiração de senha para todos os usuários?

Assim que tiver essa informação, posso ver facilmente quais usuários estão sendo afetados e aqueles que serão afetados no futuro.

    
por Kyle 28.07.2011 / 18:19

2 respostas

6

Um comando como este deve mostrar o status de expiração para todas as contas definidas no seu /etc/passwd .

cut -f 1 -d: /etc/passwd | xargs -n 1 -I {} bash -c " echo -e '\n{}' ; chage -l {}"

O comando importante é o chage -l username . Esse é o comando que retorna o status de expiração de um usuário. O Chage também é o comando que você usaria para modificar as regras de expiração. Talvez seja necessário adicionar sudo antes de chage , dependendo da configuração do sistema.

    
por 28.07.2011 / 18:29
1

Você também pode usar este comando simples:

awk -F':' '{ system("echo " $1 " && chage -l " $1) }' /etc/passwd

Usar awk e system simplificam.

1. awk -F':' here : is field seperator with /etc/passwd file as input.

2. system("echo " $1 " && chage -l " $1) this will first echo $1 and user's password expiry information with chage -l

    
por 28.05.2017 / 10:22