Se eu chamar um comando com argumentos assim:
bob@bob-pc:~$ command -arg1 -arg2
... outros usuários podem visualizar os argumentos passados para o comando?
command-line
security
process
Nathan Osman
fonte
fonte
Respostas:
Em geral, sim, eles podem ver. Isto é da
w
página de manual:A linha de comando completa do seu processo em execução no momento será exibida. É por isso que você não deseja fornecer coisas como senhas por meio de argumentos de linha de comando.
fonte
XXXXXXXX
); Eu adoraria saber como. Pode fazer algo esfarrapado, como se bifurcar e passar um argumento falso; Não tenho certezaEm geral, os argumentos da linha de comando são visíveis para todos. Por exemplo, como usuário não root no OpenBSD, posso ver argumentos de processos em execução como root:
No Linux, você notará que todos os
/proc/*/cmdline
arquivos são legíveis pelo mundo.Pode haver configurações altamente específicas nas quais os argumentos da linha de comando permanecem privados. Por exemplo, o SELinux e o Solaris podem ocultar completamente os processos de outros usuários . Mas, a menos que você saiba absolutamente que está nessa situação, suponha que os argumentos da linha de comando sejam públicos.
fonte
Nas configurações padrão, os argumentos são visíveis. Como já mencionado , os processos podem substituí-los na memória, mas não antes que outros processos tenham a chance de vê-los.
No entanto, o conjunto de patches grsecurity inclui um patch que o altera para que apenas o proprietário do processo (e raiz) possa ver os argumentos passados para um processo.
fonte