A maneira correta de acordo com usermod(8) é:
usermod --lock --expiredate 1970-01-02 <username>
(Na verdade, o argumento para --expiredate pode ser qualquer data anterior à data atual no formato YYYY-MM-DD .)
Explicação:
-
--lockbloqueia a senha do usuário. No entanto, o login por outros métodos (por exemplo, chave pública) ainda é possível. -
--expiredate YYYY-MM-DDdesativa a conta na data especificada. De acordo comman shadow 51970-01-01 é um valor ambíguo e não deve ser usado.
Eu testei isso na minha máquina. Nenhum login com senha nem chave pública é possível após a execução deste comando.
Para reativar a conta em uma data posterior, você pode executar:
usermod --unlock --expiredate '' <username>