Posso registrar a atividade vi?

10

Existe algum método para registrar atividades vi? Eu suspeito que outro usuário está emitindo comandos indo para o shell dentro do editor vi, aparentemente esse comando não grava no histórico.

    
por vnix27 13.02.2011 / 16:44

3 respostas

6

Você também pode ativar contabilidade de processos (s / pode / deve /!)

Você pode usar:

lastcomm(1)

para ver o comando sendo executado e se eles foram executados após um fork, com ou sem um exec.

Combinado com um IDS baseado em host, isso deve dar o que você precisa "para que a justiça do rei seja feita contra ele".

    
por 13.02.2011 / 22:51
7

Como você está registrando suas atividades agora? O mais fácil é impedi-los de lançar shells do vi.

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

Se você estiver usando um shell especial para registrar seus comandos, poderá alterar o vi para usar apenas esse shell.

    
por 13.02.2011 / 18:17
4

Você está falando sobre o histórico da casca? O modo de shell vi ( :sh ) inicia o shell padrão do usuário Se isso for bash, você pode ter certeza de que o log de histórico está sempre ativado editando o arquivo / etc / bashrc global e adicionando:

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

que garantirá que cada comando do usuário seja registrado em um arquivo, não seja sobrescrito e será atualizado toda vez que o prompt do shell aparecer.

Observe que os usuários podem substituir isso em seu ~/.bashrc pessoal, portanto, isso não é uma garantia absoluta de que o registro ocorrerá.

Algumas versões do vi (como o nvi) suportam um modo de segurança que desativa o acesso ao shell, através da inicialização do vi como nvi -S . Você poderia definir um alias global em /etc/bashrc para forçar esse modo por padrão também.

Observe que, em geral, a questão de os usuários chegarem ao shell por meios inesperados é um problema clássico de unix. Não há como desabilitar isso completamente, o melhor que você pode fazer é tentar limitar o acesso por padrão. Um usuário sofisticado (ou até mesmo um usuário que saiba como usar o google) sempre pode contornar essas restrições. Por exemplo, se um usuário não quiser que seu histórico de shell seja registrado, ele poderá executar apenas uma nova cópia do shell com as opções desejadas.

Aqui está um ótimo writeup de como forçar o registro no bash e as maneiras pelas quais o registro pode ser contornado.

Finalmente, você considerou apenas conversar com o usuário para determinar o que está fazendo? 99% do tempo de comunicação verbal simples pode esclarecer qualquer confusão. Se você está registrando a atividade deste usuário porque não confia neles, talvez possa conversar com eles sobre suas preocupações.

    
por 13.02.2011 / 18:46