Não tenho representante suficiente para comentar a resposta do Legate, mas queria compartilhar que essa resposta nos ajudou em outro caso de uso:
1.) conta em questão é uma conta de serviço local executando um aplicativo, não uma conta de usuário final.
2.) os usuários finais se conectam e sudo /bin/su <user>
se tornam usuários e administram aplicativos devido a um requisito de trilha de auditoria de que a conta de serviço não pode ter a capacidade de login direto.
3.) a conta de serviço deve ter um shell válido ( /bin/bash
, não /sbin/nologin
), porque uma Enterprise Scheduling Platform (agente é executado como raiz localmente) deve ser capaz su - <user>
e não possuir a su -s /bin/bash <user>
capacidade de um shell completo e é necessária para executar tarefas remotamente para operações em lote maiores que abrangem vários servidores e bancos de dados.
Portanto ...
passwd -l <user>
Não atende a restrições porque a autenticação de chave pública ignora o PAM e ainda permite o login direto.
usermod -s /sbin/nologin <user>
Não satisfaz restrições porque quebra o agendador da empresa
usermod --lock --expiredate 1970-01-01 <user>
Este é o nosso vencedor. O login remoto é desativado, mas o root ainda pode su <user>
, assim como outros usuários, sudo
para que o planejador funcione corretamente e que os usuários finais autorizados possam se tornar a conta de serviço de destino, conforme necessário.
Obrigado pela solução!