Linux

補充組的特殊權限

  • June 22, 2020

安裝Wireshark後​​,我必須將我的使用者添加到Wireshark組,以便能夠在沒有 root 訪問權限的情況下擷取數據包。

AFAIK Wireshark 使用libpcap庫,該庫本身使用Netlink 協議從核心基礎設施獲取數據包。Netlink 還需要建構需要 root 訪問權限的 RAW 套接字。

我的假設是:

  1. 任一wireshark組都具有特殊權限,這使得它(以及該組中的每個使用者)都能夠擷取數據包,而無需成為root 或sudoer。
  2. 或者它更簡單。Wireshark 只是檢查目前非 root 使用者是否在wireshark組中,如果是,則可以通過setuid之類的方式提升其權限。

但第二個假設是錯誤的,因為wireshark 沒有setuid權限。

那麼是什麼讓wireshark組中的每個使用者都能夠在沒有root 訪問權限的情況下擷取數據包呢?或者以更一般的形式:輔助組如何獲得這樣的權限?

提前致謝。

這兩個選項都不是。權限由 攜帶dumpcap,它負責數據包擷取,並具有適當的功能:

$ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

它由 擁有root:wireshark,並且只能由其所有者和組執行,因此只能由wireshark組中的使用者使用。

有關詳細資訊,請參閱/usr/share/wireshark/README.Debian.gz您的系統。

引用自:https://unix.stackexchange.com/questions/594352