Primeiro, presumo que, se isso for possível, seria necessário fazer root (ou como um usuário que compartilhe o UID 0 de root).
Como um processo pode ser iniciado para que não apareça em uma lista ps aux
ou ps ef
ou top
se o comando é executado por não raiz?
Isso é possível?
As distribuições que eu normalmente corro são RHEL / CentOS e Ubuntu - então, se houver uma resposta específica de distribuição, tudo bem também.
Respostas:
Bem, você tem algumas opções aqui. Tomar o caminho mais fácil seria trocar o ps e os principais programas por versões modificadas que ocultam o que você deseja ocultar.
A alternativa seria executar o código incorporado em um processo existente ou escrever um script de wrapper em torno do código com um nome inócuo.
Em algumas versões do PS, você pode modificá-lo alterando argv [], mas não tem certeza se isso funciona para o topo, e não tem certeza se funciona no linux (é principalmente uma convenção BSD).
Tudo depende, exatamente, do que você deseja alcançar ao fazer isso?
fonte
python myScript.py
e todos ossubprocess.Popen
comandos (que podem ou não conter senhas) não são mostrados, desde que seja o mesmo processo?De acordo com o patch do kernel http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , você pode usar a opção hidepid para o sistema de arquivos proc:
Você não pode controlar a visibilidade no nível do processo, mas pode garantir que seus usuários possam ver apenas seus próprios processos.
Caso você tenha uma versão do kernel maior que 3.3, você pode tentar com o seguinte comando:
fonte
hidepid=2
coisa para que ela afete apenas usuários específicos (ou coloque na lista de permissões certos usuários)?root
?use o comando F no comando top e n, por exemplo, para configurar o que deseja ver. use o comando W para escrever a configuração que você deseja ~ / .toprc - use? para ver os principais comandos. Isso pode resolver seu problema rapidamente - foi o que aconteceu comigo. Com F eu posso adicionar / remover os campos que quero ver, enquanto em f pode usar s para definir a classificação e, em seguida, q para voltar à exibição. então n para definir quantos processos eu quero ver e W para salvar em .toprc
fonte