Dar mais informações obtém respostas melhores. De improviso, no OpenSUSE, vejo que
passwd -S -a
fornece um registro para cada entrada em /etc/passwd , assim:
thomas PS 03/01/2013 0 99999 7 -1
para que você possa filtrar com o awk:
passwd -S -a | awk -v user=$USER '{ if ( $1 == user ) { printf "%s\n", $3; } }'
No entanto, o comando passwd quer fazer isso como root , então seu script teria que fazer algo mais elegante do que usar a variável $USER (para o usuário atual ) . O motivo pelo qual ele quer root é que ele está lendo o conteúdo de /etc/shadow , que não é público.
Você pode usar chage , que mostra um relatório diferente, mas em uma verificação rápida, ele solicita a senha do usuário (que provavelmente não é o que você quer):
The
chageprogram requires a shadow password file to be available.The
chagecommand is restricted to the root user, except for the-loption, which may be used by an unprivileged user to determine when his/her password or account is due to expire.
Leitura adicional:
-
passwd - altera a senha do usuário , mostrando as opções
-Se-a - arquivo de senhas shadow-shadow , mantendo data da última alteração de senha
-
Como a senha expira em , mostra
chage, mas omite o prompt da senha ...