web-dev-qa-db-ja.com

Mac OS Xのhtopがすべてのプロセスのデータを表示するためにroot権限を必要とするのに、Linuxではrootなしで実行されるのはなぜですか

Linuxシステムで作業しているときは、常にhtopを使用します。 MacにHomebrewを介してhtop-osxをインストールしましたが、すべてのプロセスのすべてのデータを表示するには、 レシピ は、htopを使用してSudoをrootとして実行する必要があることを示しています。

Linuxシステムでは、htop内のすべてのプロセスのすべてのデータを表示するためにroot権限は必要ないようです。

私の質問はなぜMacでこれを行う必要があるのに、Linuxシステムでは必要ないのですか?

以前は、この問題に対する推奨される解決策は、setuidバイナリのhtopビットとchownバイナリをrootに設定して、rootユーザーとして実行することでした。ただし、 変更 は、代わりにSudoを使用するようにこのメソッドから削除されました。

8
JoeNyland

Linuxでは、htopは/ procファイルシステムを使用します。これにより、カーネルが提供する情報を表示できます。その(/ proc)はOSXの一部ではないため、(この機能がない他のシステムと同様に)特権アクセスを使用してのみカーネルのデータを取得できます。

詳細については

10
Thomas Dickey