Warum benötigt htop unter Mac OS X Root-Berechtigungen, um Daten für alle Prozesse anzuzeigen, unter Linux jedoch ohne root

972
JoeNyland

Ich verwende die htopganze Zeit, wenn ich an einem Linux-System arbeite. Ich habe htop-osxüber Homebrew auf meinem Mac installiert, aber um alle Daten für alle Prozesse zu sehen, sagt mir das Rezept, dass ich htopals root laufen muss sudo.

Es scheint, dass auf einem Linux-System keine Root-Rechte erforderlich sind, um alle Daten für alle Prozesse in anzuzeigen htop.

Meine Frage ist, warum muss ich das auf einem Mac machen, aber auf einem Linux-System nicht?

Zuvor wurde als Lösung für dieses Problem vorgeschlagen, das setuidBit in der htopBinärdatei und chowndie Binärdatei auf root zu setzen, damit es als Rootbenutzer ausgeführt wird. Es wurde jedoch eine Änderung von dieser Methode vorgenommen, sudostattdessen zu verwenden .

5

1 Antwort auf die Frage

6
Thomas Dickey

Unter Linux verwendet htop das Dateisystem / proc, mit dem die vom Kernel bereitgestellten Informationen angezeigt werden können. Da (/ proc) nicht Teil von OSX ist, kann man (wie einige andere Systeme, die diese Funktion nicht haben) nur über einen privilegierten Zugriff auf die Daten des Kernels zugreifen.

Für mehr Diskussion