Não sei ao certo onde você está preso porque você não forneceu muitas informações ou exemplos, mas você pode considerar os seguintes comandos:
-
chage -l userName
para verificar a data de expiração da senha de um usuário -
mail
para enviar um email para o usuário ou para o administrador (ou ambos) (como disse Graeme em seu comentário)
Com esses dois comandos, você deve conseguir escrever um script simples para verificar a expiração da senha.
Você também pode usar crontab
para o agendamento (diariamente, por exemplo).
EDITAR:
Após sua edição com mais informações, você pode tentar o seguinte:
# Get the current date in seconds since 1970
current_date='date "+%s"'
# Convert the date you want to check in seconds since 1970
date_to_check='date -d 2015/03/31 +"%s"'
# Calculate the difference in seconds
date_diff='expr $date_to_check - $current_date'
# Check whether the difference is greater than 31 days (2678400 seconds)
if [ 'expr $date_diff - 2678400' -gt 0 ]
then
echo More than 31 days left
else
echo Less than 31 days left
fi