Para ser pedante, não será ctrl + c, mas SIGHUP
(mais próximo de ctrl + d) que mata o aplicativo.
Você pode colocar essencialmente o que quiser no shell do usuário em /etc/passwd
. Simplesmente substitua o padrão na linha passwd do usuário (provavelmente /bin/bash
) por outro programa. Esse programa pode ser um script, como /usr/bin/tail_log_file
, com esses conteúdos, de propriedade root: root, com umode 0755:
#!/bin/rbash
tail -f /path/to/logfile
Você pode usar algum intérprete diferente do rbash, mas é aconselhável usar um shell restrito em tais casos.
Para ser extremamente pedante, você deve adicionar o caminho do script a /etc/shells
, mas geralmente acho que funciona de qualquer maneira.
Tenha em mente também que o usuário poderia colocar o script em segundo plano ou usar algumas opções ( ssh username@host bash
) e ainda adquirir um shell. Se você quiser restringir o usuário de tal maneira, as boas permissões do sistema de arquivos são a única solução real.