Security
如果呼叫者不是其中之一,您可以強制共享對像以 root 身份執行或使用 setuid 或 setgid 嗎?
我的應用程序需要對 /dev/input/event* 具有寫入權限。在我的 Ubuntu 系統上,/dev/input/event* 歸 root:input 所有。如果我使用 sudo,我的應用程序執行良好,但我試圖避免這種情況。所以我將我的應用程序設置為“輸入”組並使用 setgid 執行。但它是一個跨平台應用程序(GTK),可以檢測並禁止這種情況。(字面意思是說 GTK 已經檢測到它正試圖以 setgid 或 setuid 執行,但它不會允許它。)但它實際上是想要寫入 /dev/input/event* 的 .so 文件。如果我可以允許這個 .so(狀態良好且不會經常更改)以 root 身份執行,我會感覺好多了。或者,如果 .so 文件必須以 setgid 執行,則 GTK 環境可能無法檢測到它。我嘗試在 .so 文件上設置特殊位,
每個程序(實際上是 Linux 中的每個執行緒)跟踪權限,而不是每個載入以執行該程序的目標文件。因此,您不能將不同的權限與
.so
文件相關聯。正如Andy Dalton所建議的,一種常見的處理方式是擁有一個小的幫助程序二進製文件,並確保它具有適當的權限(使用權限或功能等)。
另一種可能性是添加
udev
規則以將事件設備上的權限授予您的使用者,或者可能是控制台中的任何人。