Existe algum tipo de comando chage
no AIX? verifique o arquivo / etc / shadow que é onde as informações de expiração são armazenadas.
Atualização: Parece que há uma sub-rotina passwdexpired que pode ser carregada e verifica a senha do usuário para determinar se ele expirou. No entanto, parece ser usado como root.
Este link tem uma excelente documentação do que você exigiria
Como demonstrado anteriormente no artigo acima, a expiração de uma senha é regida pelo atributo maxage.
For example:
maxage=0 means never to expire
maxage=2 means will expire in two weeks.
O AIX armazena a hora no formato de época em segundos, portanto, primeiro você deve determinar quantos segundos em uma semana, já que é assim que a maxage mede o tempo entre a expiração da senha, ou seja, os números da semana. Há 86400 segundos em um dia, multiplicando isso por sete vem em 604800. Portanto, há 604800 segundos em uma semana. O próximo comando que você precisa examinar é o pwdadm, que por sua vez consulta o arquivo / etc / security / passwd. Este arquivo armazena os valores em segundos quando um usuário alterou a senha pela última vez. Interrogando o arquivo ou usando o comando pwdadm retornará o mesmo resultado. Para esta demonstração, vamos consultar o spoll do usuário:
# grep -p "spoll:" /etc/security/passwd
spoll:
password = EvqNjMMwJzXnc
lastupdate = 1274003127
flags = ADMCHG
# pwdadm -q spoll
spoll:
lastupdate = 1274003127
flags = ADMCHG
Você pode ver o valor lastupdate em segundos da saída acima. Em outras palavras, a última vez que a senha foi alterada: 1274003127
Em seguida, usando o lsuser ou interrogando o arquivo com / etc / security / user, você pode determinar o número de semanas antes que a senha spoll do usuário expire:
# grep -p "spoll:" /etc/security/user
spoll:
admin = false
maxage = 4
# lsuser -a maxage spoll
spoll maxage=4
Você pode ver na saída acima que o número de semanas antes da expiração da senha é 4. A próxima tarefa é então multiplicar o número de segundos em uma semana pelo número de semanas antes da expiração da senha de spool do usuário. Neste caso, é 4: 604800 * 4
# expr 604800 \* 4
2419200
Em seguida, você precisa adicionar o valor maxage em segundos (604800 * 4) à última vez que a senha foi alterada: 2419200 + 1274003127
# expr 2419200 + 1274003127
1276422327
Agora você pode converter esse número de segundos da época do UNIX em uma apresentação de tempo atual mais significativa. Você pode usar ferramentas diferentes, mas para esta demonstração você usará o gawk com a função strftime:
# gawk 'BEGIN {print strftime("%c",'1276422327')}'
Sun Jun 13 10:45:27 BST 2010
O cálculo acima indica a hora da próxima expiração da senha. Então, agora você sabe que a senha do spoll do usuário foi alterada pela última vez (a partir do comando pwdadm):
# gawk 'BEGIN {print strftime("%c",'1274003127')}'
Sun May 16 10:45:27 BST 2010
E isso expirará em:
Sun Jun 13 10:45:27 BST 2010
------------------ Perl script-let --------
#!/bin/perl
use POSIX qw(strftime);
$maxage=4;
$last_update = 1274003127
$max_week_seconds = 86400 * $maxage;
print strftime("%C ", localtime($max_week_seconds));