A página usermod
man em man7.org
e a do meu sistema Debian contêm um aviso para o mesmo efeito:
-L
,--lock
Lock a user's password. ...
Note: if you wish to lock the account (not only access with a password), you should also set the EXPIRE_DATE to 1.
Se isso não diz que em algum sistema, bem, eu suponho que isso apenas mostra que nem toda a documentação pode ser perfeita. Pelo menos, o texto que você citou explicitamente menciona que ele bloqueia a "senha do usuário [em] .", Portanto, uma leitura atenta ainda pode indicar que há alguma limitação para isso.
Eu não acho que há muito mais a considerar, as duas ferramentas fazem a mesma coisa e tornam a senha (e somente a senha) inutilizável. Qualquer coisa que não use a senha ( su
por um usuário privilegiado; sudo
dependendo da configuração; cron
; chaves SSH ...) ainda fará seu trabalho como o usuário bloqueado por senha.
Como observado na página passwd
man, a expiração da conta pode funcionar como um bloco mais amplo. Acho que a expiração é verificada pelos módulos de sessão do PAM, que geralmente são chamados mesmo que a autenticação não passe pelo PAM.
("Normalmente", porque qualquer programa privilegiado poderia apenas alterar o ID do usuário sem considerar a expiração da conta, se estivesse programado para isso. Mas pelo menos cron
e sshd
iniciarão uma sessão do PAM, e, assim, verificar a expiração.)
Em qualquer caso, se você iniciar o bloqueio de contas de usuário, talvez não seja uma má idéia testar se o bloqueio funciona conforme o esperado (com uma conta de teste). Só porque essa provavelmente seria uma daquelas situações em que você realmente não quer deixar buracos abertos.