Ocultar o histórico de comandos de outros usuários em um servidor Linux

Ocultar o histórico de comandos de outros usuários em um servidor Linux

Quando faço login via ssh em um servidor Linux (Ubuntu), percebo que todos os comandos bash executados por outros usuários no servidor são salvos no histórico de comandos. Existe uma maneira que me permita ocultar os comandos que digitei na linha de comando de outros usuários no servidor?

Responder1

Há muitas maneiras de ocultar seu histórico de comandos, mas é uma má ideia desativá-lo completamente, pois é muito útil. Aqui estão três boas maneiras de desligá-lo temporariamente.

  1. Solução mais rápida: Tipounset HISTFILE

    Isso impedirá que todos os comandos executados na sessão de login atual sejam salvos no arquivo .bash_history quando você efetuar logout. Observe que HISTFILE será redefinido na próxima vez que você fizer login, então o histórico será salvo normalmente. Além disso, observe que isso removetodoscomandos da sessão, incluindo aqueles executados antes de você digitar unset HISTFILE, que pode não ser o que você deseja. Outra desvantagem é que você não pode ter certeza de que fez tudo certo até sair, pois o bash ainda permitirá que você use a seta para cima para ver os comandos anteriores.

  2. Melhor solução: digite um espaço antes de um comando

    Experimente e clique na seta para cima para ver se foi adicionado ao seu histórico. Alguns sites já o possuem configurado para que tais comandos não sejam salvos. Se não funcionar, adicione a linha export HISTCONTROL=ignorebothao seu arquivo .bashrc. Quando você fizer login no futuro, os comandos que começam com um espaço serão esquecidos imediatamente.

  3. Mais fácil de lembrar: Tiposh

    Isso iniciará um subshell com o shell Bourne original. Quaisquer comandos escritos nele (até você exit) não serão salvos em seu histórico. Qualquer pessoa que olhar seu arquivo de histórico poderá ver que você executou sh (o que é suspeito), mas não verá o que você executou depois disso.

Existem muitas outras maneiras de fazer isso. Você pode até dizer ao bash quais comandos nunca lembrar (HISTIGNORE). Veja a página de manual do bash(1) e pesquise HIST para ver muitas possibilidades.

Responder2

O histórico da linha de comando para bashsessões shell é armazenado no ~/.bash_historyarquivo. Se este arquivo não existir, ele será criado sem permissões de leitura para outros usuários.

Você pode alterar o número de comandos bashsalvos neste arquivo definindo a HISTFILESIZEvariável de ambiente. Definir como zero truncará o arquivo de histórico para tamanho zero. O padrão é 500. Desativar a variável HISTFILE( unset HISTFILE) também impedirá o armazenamento de comandos no arquivo de histórico.

No entanto, a configuração atual do servidor que você está descrevendo (nos comentários) está simplesmente errada.

Não deve haver motivo para permitir que vários usuários façam login e usem um shell interativo na rootconta. Considere usar sudo, em vez disso, com várias contas de usuário privadas!

O histórico de comandos do root, seja para sessões interativas ou ao usar o sudo, é extremamente precioso,especialmentese você tiver vários usuários com rootacesso no sistema.

Sua equipe vai querer saberexatamenteo que o rootusuário tem feito desde que quaisquer configurações incorretas ou outros contratempos executados por esse usuário devem ser melhor investigados e corrigidos. Com um histórico de linha de comando, fica muito mais fácil descobrir por que algo deu errado. O sudoutilitário também registra cada chamada no recurso syslog por esse motivo, com carimbos de data e hora e linha de comando completa, e com o nome de usuário do usuário que está executando o sudo.

EDITAR: Recentemente, começamos a ter problemas com uma rede de fibra em um cluster de máquinas Linux em funcionamento. Descobriu-se que alguns drivers ou outros foram substituídos pela versão errada quando um usuário bobo com sudoacesso fez uma atualização de pacote descuidada. Conseguimos descobrir isso observando os logs do sistema e os sudocarimbos de data e hora neles contidos. O "usuário bobo" acabou por ser ninguém além de mim!

Responder3

Emita o seguinte comando após fazer login:

HISTFILE=

Isso impedirá que quaisquer comandos subsequentes sejam registrados no arquivo de histórico.

informação relacionada