如何使用戶能夠在 Mac OS X 上使用 dtrace。
更新
好吧,我能說的最好的。透過偵錯來防止惡意應用程式破壞系統的唯一方法是。
- 在單獨的控制台中附加到進程
- 使用 sudo 兩次
以便:
sudo dtruss sudo -u myusername potentially_harmful_app
我用這個短程序驗證了這一點:
#include <iostream>
#include <unistd.h>
int main()
{
std::cout << "effective euid " << geteuid() << "\n";
}
請參閱此討論以獲取更多資訊:
答案1
請參閱我上面的更新。如果我見過的話,這是一個嚴重的安全漏洞。 dtruss 的正確實作應該刪除它所呼叫的任何程式的特權。一個系統上有多個用戶,其中一個用戶肯定會把事情搞砸,並允許編寫糟糕的程式破壞東西。
答案2
以 root 身分 chmod 4755 dtrace
任何時候運行程式都會以 root 權限執行
答案3
你不能兩者兼得。 dtrace 需要 root 權限才能與核心通信,因此它必須使用 root 權限 (setuid) 或透過 root 運作。