Por que o htop no Mac OS X requer privilégios de root para ver dados de todos os processos, mas no Linux ele é executado sem raiz

4

Eu uso htop o tempo todo quando estou trabalhando no sistema Linux. Instalei htop-osx através do Homebrew no meu Mac, mas para ver todos os dados de todos os processos, a receita diz que preciso executar htop como root, usando sudo .

Em um sistema Linux, parece que os privilégios de root não são necessários para mostrar todos os dados de todos os processos em htop .

Minha pergunta é por que eu preciso fazer isso em um Mac, mas não em um sistema Linux?

Anteriormente, a solução sugerida para esse problema era definir o setuid bit no htop binary e chown o binário no root para que ele fosse executado como o usuário root. No entanto, uma alteração foi feita deste método para usar sudo .

    
por JoeNyland 03.10.2015 / 20:27

1 resposta

5

No Linux, o htop usa o sistema de arquivos / proc, que permite visualizar informações fornecidas pelo kernel. Isso (/ proc) não faz parte do OSX, então (como em alguns outros sistemas que não possuem esse recurso), é possível obter apenas os dados do kernel usando acesso privilegiado.

Para mais discussão

por 03.10.2015 / 21:49