Como abro uma sessão bash incógnita?

50

É possível abrir uma sessão anônima em bash ?

Por exemplo, quando precisamos inserir senhas em comandos e não queremos que bash as adicione ao histórico.

    
por Persian 02.10.2014 / 22:06

3 respostas

79

Quando você quiser que bash pare de registrar seus comandos, apenas desmarque a variável HISTFILE :

HISTFILE=

Todos os demais comandos não devem mais ser registrados em .bash_history .

Por outro lado, se você está realmente fornecendo senhas como argumentos para comandos, você já está fazendo algo errado. .bash_history não é legível por todos e, portanto, não é a maior ameaça nesta situação:

ps e /proc são o grande problema. Todos os usuários no sistema podem ver os comandos que você está executando atualmente com todos os seus argumentos . Passar senhas como argumentos de linha de comando é, portanto, inerentemente inseguro . Use variáveis de ambiente ou arquivos de configuração (que você selecionou 600) para fornecer senhas com segurança.

    
por 02.10.2014 / 22:13
37
HISTCONTROL=ignorespace

Se esta opção ainda não estiver definida para bash , pode ser exatamente o que você precisa. É menos debilitante do que desativar todo o histórico. Com esse conjunto, qualquer linha de comando que comece com um caractere de espaço não será salva na lista de histórico.

A partir desses links relacionados:

Por que o bash tem uma opção HISTCONTROL = ignorespace?

Por que bash não está armazenando comandos que começar com espaços?

    
por 02.10.2014 / 22:39
3

Você pode desativar o histórico temporariamente: set +o history

set +o history
...
set -o history

Há uma diferença entre desativar o histórico e desabilitar HISTFILE :

HISTFILE=
date
ls
HISTFILE=~/.bash_history
history

apresenta algo assim:

84  HISTFILE=
85  date
87  ls
88  HISTFILE=~/.bash_history
89  history

i.e. todos os comandos são salvos na lista de histórico. Digite exit para salvá-lo.
Mas

set +o history
date
ls
set -o history
history

apresenta algo assim:

115  set +o history
116  history

Resumo : set +o history para sessões longas.
HISTCONTROL e <space>command em outro momento.

    
por 21.06.2015 / 08:35