Por que as pessoas temem escrever senhas na linha de comando?
O arquivo de histórico está localizado ~/.history
, portanto, está disponível apenas para o usuário que executou os comandos (e raiz).
Por que as pessoas temem escrever senhas na linha de comando?
O arquivo de histórico está localizado ~/.history
, portanto, está disponível apenas para o usuário que executou os comandos (e raiz).
export mypass=secret
e usara_command --password=$mypass
, verásecret
naps
tabela.Respostas:
As linhas de comando não estão disponíveis apenas no histórico. Eles também estão disponíveis, por exemplo, na saída
ps -ocmd
ou através do/proc
sistema de arquivos. (/proc/<pid>/cmdline
) que é onde osps
lê.Além disso, os diretórios pessoais dos usuários geralmente são legíveis por mundo ou grupo; você pode tornar o arquivo de histórico apenas legível pelo usuário, mas isso pode não sobreviver à exclusão e à recreação.
fonte
As senhas na linha de comando são apenas uma péssima idéia. Além dos métodos discutidos nas outras respostas:
ps
)Os comandos do usuário também podem aparecer nesses locais:
Além disso, os comandos do usuário também podem aparecer quando os usuários fazem login entre sistemas, portanto, geralmente é uma prática ruim e deve ser evitada o tempo todo.
fonte
O problema é a visibilidade dos parâmetros (para outros usuários na maioria dos casos, mesmo para root) enquanto o comando está em execução. Veja a saída de
fonte