É possível abrir uma sessão anônima bash
?
Por exemplo, quando precisamos inserir senhas em comandos e não queremos bash
adicioná-las ao histórico.
bash
shell
command-history
privacy
Sudoer
fonte
fonte
cat | bash
executará um não-interativobash
sem prompt, edição de linha de comando (apenas o editor interno da disciplina de linha) ou histórico.secrectcommand
não estará na história do bash.Respostas:
Quando você deseja
bash
parar de registrar seus comandos, desative aHISTFILE
variável:Todos os comandos adicionais não devem mais ser registrados
.bash_history
.Por outro lado, se você estiver realmente fornecendo senhas como argumentos para comandos, já estará fazendo algo errado.
.bash_history
não é legível para o mundo e, portanto, não é a maior ameaça nessa situação:ps
e/proc
são o grande problema. Todos os usuários do sistema podem ver os comandos que você está executando no momento com todos os argumentos deles . Passar senhas como argumentos de linha de comando é, portanto, inerentemente inseguro . Use variáveis de ambiente ou arquivos de configuração (que você modificou no 600) para fornecer senhas com segurança.fonte
unset HISTFILE
tem um efeito semelhante. Eu tenho uma função para isso:n() { HISTFILE=; PS1="~${PS1#\~}"; }
. Dessa forma, posso ver claramente se estou no "modo de navegação anônima" ou não.Se essa opção ainda não estiver definida
bash
, pode ser exatamente o que você precisa. É menos debilitante do que desabilitar toda a história. 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 o bash não armazena comandos que começam com espaços?
fonte
Você pode desativar temporariamente o histórico:
set +o history
Há uma diferença entre desabilitar o histórico e desabilitar
HISTFILE
:gera algo como isto:
ou seja, todos os comandos são salvos na lista de histórico. Digite
exit
para salvá-lo.Mas
gera algo como isto:
Resumo :
set +o history
para sessões longas.HISTCONTROL
e<space>command
em outro momento.fonte