Expirar todas as contas para que a senha atual seja redefinida

De Wiki Hackstore

É possível fazer com que um usuário seja forçado a trocar a senha no próximo login, bastando ativar uma flag para o mesmo no LDAP.

Force todos os usuários a trocarem a senha no próximo login

Importe a lista de usuários utilizando o comando abaixo como usuário zimbra:

su - zimbra
zmprov -l getAllAccounts | grep -v "^admin\@\|^wiki\@\|^spam\..*@\|^ham\..*@" > /tmp/lista-contas

Crie o script que irá automatizar a operação de definição da flag de senha expirada:

#!/bin/bash
while read conta FULL_CURRENT;do

zmprov modifyAccount $conta zimbraPasswordMustChange TRUE
echo "Conta $conta expirada com sucesso"

done < /tmp/lista-contas

Caso prefira utilize um for ao invés de um while

Com tal procedimento é desnecessário criar a lista previamente. Apenas crie um script com as linhas abaixo:

#!/bin/bash
for i in `zmprov -l getAllAccounts | grep -v "^admin\@\|^wiki\@\|^spam\..*@\|^ham\..*@"`
do
zmprov modifyAccount $i zimbraPasswordMustChange TRUE
echo "Conta $conta expirada com sucesso"
done


Ref: http://www.flylife.org/tips/zimbra/batch-processing-zimbra-commands.html