Mac-Osx

在 Mac OS X 上啟用不帶 sudo 的 dtrace?

  • April 15, 2015

如何使使用者能夠在 Mac OS X 上使用 dtrace。我正在嘗試在 Linux 上執行與 strace 等效的操作,但我不喜歡以提升的權限執行應用程序。

更新

好的,我能說的最好的。防止惡意應用程序通過調試破壞系統的唯一方法是。

  1. 在單獨的控制台中附加到程序
  2. 使用 sudo 兩次

以便:

sudo dtruss sudo -u myusername potentially_harmful_app

我用這個簡短的程序驗證了這一點:

#include <iostream>
#include <unistd.h>
int main()
{
 std::cout << "effective euid " << geteuid() << "\n";
}

有關更多資訊,請參閱此討論:

http://discussions.apple.com/message.jspa?messageID=6430877

請看我上面的更新。這是一個糟糕的安全漏洞,如果我見過的話。dtruss 的正確實現應該放棄它呼叫的任何程序的特權。在一個系統上擁有多個使用者,其中一個必然會搞砸這一切,並允許編寫糟糕的程序破壞事物。

chmod 4755 dtrace 作為根

任何時候你執行程序都會以root權限執行

引用自:https://serverfault.com/questions/215510