Eu acho que tela é o que você procura, mas se você não quer ficar sentado assistindo e quer "filmar" a sessão de um usuário, pode ver o sudo shell.
Se você configurar o usuário com isso como seu shell, poderá ter uma gravação completa de tudo o que ocorreu, e poderá "reproduzi-lo" novamente e assistir quando / se for necessário.
A única desvantagem possível disso é que os logs podem crescer muito, por exemplo, se eles executarem um comando como find /
, você também terá tudo isso gravado - portanto, você provavelmente terá que escolher quais contas habilitá-lo, em vez de fazê-lo globalmente.
Quanto a permitir que os fornecedores acessem o acesso, isso provavelmente é perfeito, porque você tem uma trilha de auditoria completa de tudo o que fizeram, tudo (até o backspacing) é gravado e armazenado para reprodução.
log_output
é a sua opção de gravador de sudoers e sudoreplay(8)
é o seu player.
De acordo com a sudoers
página de manual:
log_output: Se definido, o sudo executará o comando em uma pseudo-tty e registrará toda a saída que é enviada para a tela, semelhante ao comando script (1). Se a saída padrão ou o erro padrão não estiver conectado ao tty do usuário, devido ao redirecionamento de E / S ou porque o comando faz parte de um pipeline, essa saída também será capturada e armazenada em arquivos de log separados.
No arquivo sudoers, você colocaria algo como isto:
User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output
Ou para log baseado em grupo
Defaults:%shellusers log_output
Consulte http://www.gratisoft.us/sudo/sudoers.man.html para obter detalhes.