在 Mac OS X 上無需 sudo 即可啟用 dtrace?

在 Mac OS X 上無需 sudo 即可啟用 dtrace?

如何使用戶能夠在 Mac OS X 上使用 dtrace。

更新

好吧,我能說的最好的。透過偵錯來防止惡意應用程式破壞系統的唯一方法是。

  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

答案1

請參閱我上面的更新。如果我見過的話,這是一個嚴重的安全漏洞。 dtruss 的正確實作應該刪除它所呼叫的任何程式的特權。一個系統上有多個用戶,其中一個用戶肯定會把事情搞砸,並允許編寫糟糕的程式破壞東西。

答案2

以 root 身分 chmod 4755 dtrace

任何時候運行程式都會以 root 權限執行

答案3

你不能兩者兼得。 dtrace 需要 root 權限才能與核心通信,因此它必須使用 root 權限 (setuid) 或透過 root 運作。

相關內容