Sudo
在不硬編碼 sudo 密碼的情況下賦予程序網路介面權限的正確方法是什麼?
我正在開發一個小工具來記錄 GNU/Linux 中的一些感測器。一些感測器通過 UDP 傳輸數據,所以我使用libtins來擷取它。
我想從 webapp 控制感測器的啟動/停止,但是監聽網路介面需要 root 權限。我不喜歡每次點擊按鈕時硬編碼 sudo 密碼來執行嗅探器的想法,我寧願避免以 root 身份執行我的所有程序,但肯定必須是授予介面訪問權限的正確方法一個程序,因此可以從例如 python 或 bash 腳本開始嗅探。
有人可以給我任何提示嗎?
setcap 命令成功了:
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip <binaryFile>