Give more detailed information about capture permissions on Debian.
authorGuy Harris <guy@alum.mit.edu>
Mon, 11 Jun 2018 18:40:12 +0000 (11:40 -0700)
committerGuy Harris <guy@alum.mit.edu>
Mon, 11 Jun 2018 18:41:11 +0000 (18:41 +0000)
Indicate what you're supposed to do when running dpkg-reconfigure
wireshark-common, and indicate that you have to run it as root using
sudo.

Emphasize in README.Debian, and indicate in the permission failure
secondary message, that you have to add users to the "wireshark" group
after doing that, and that a user may have to log out and log in again
to make this change take effect.

Bug: 14847
Change-Id: Ia83ff8e92bd2f00b6c3779272322a40201416da0
Reviewed-on: https://code.wireshark.org/review/28206
Reviewed-by: Guy Harris <guy@alum.mit.edu>
debian/README.Debian
dumpcap.c

index 048717f57dc0478a75589dda7c7d9e263d42f910..eb553d7da962b3a4d072e9f131a04c8ec8cbbf87 100644 (file)
@@ -1,7 +1,9 @@
 
 I. Capturing packets with Wireshark/Tshark
 
-   There are two ways of installing Wireshark/Tshark on Debian:
+   There are two ways of installing Wireshark/Tshark on Debian; the
+   installation process may offer a choice between these two ways,
+   asking "Should non-superuser be able to capture packets?"
 
    I./a. Installing dumpcap without allowing non-root users to capture packets
 
@@ -9,7 +11,8 @@ I. Capturing packets with Wireshark/Tshark
       packets with the bundled dumpcap program as root and then run
       Wireshark/Tshark as an ordinary user to analyze the captured logs. [2]
 
-      This is the default on Debian systems.
+      This is the default on Debian systems; it is selected by answering
+      "<No>" to the question mentioned above.
 
    I./b. Installing dumpcap and allowing non-root users to capture packets
 
@@ -19,15 +22,26 @@ I. Capturing packets with Wireshark/Tshark
       that way only the dumpcap process has to be run with elevated privileges
       thanks to the privilege separation[1].
 
-      Note that no user will be added to group wireshark automatically, the
-      system administrator has to add them manually. After a user is added
-      to the wireshark group she/he may need to log in again to make her/his new
-      group membership take effect and be able to capture packets.
+      This is selected by answering "<Yes>" to the question mentioned
+      above.
+
+      Note that no user will be added to group wireshark automatically;
+      a system administrator has to add them manually, using the usermod
+      command:
+
+         sudo usermod -a -G wireshark {username}
+
+      or, if you're using a desktop environment that includes a tool for
+      managing users, such as the "Users and Groups" tool in GNOME (found
+      in the gnome-system-tools package), using that tool.  After a user
+      is added to the wireshark group, she/he may need to log in again to
+      make her/his new group membership take effect and be able to capture
+      packets.
 
       The additional privileges are provided using the Linux Capabilities
-      system where it is available and resort to setting the set-user-id bit
-      of the dumpcap binary as a fall-back, where the Linux Capabilities system
-      is not present (Debian GNU/kFreeBSD, Debian GNU/Hurd).
+      system where it is available and resorting to setting the set-user-id
+      bit of the dumpcap binary as a fall-back, where the Linux Capabilities
+      system is not present (Debian GNU/kFreeBSD, Debian GNU/Hurd).
 
       Linux kernels provided by Debian support Linux Capabilities, but custom
       built kernels may lack this support. If the support for Linux
@@ -42,10 +56,13 @@ I. Capturing packets with Wireshark/Tshark
       Note that capturing USB packets is not enabled for non-root users by using
       Linux Capabilities. You have to capture the packets using the method
       described in I./a., setting the set-user-id permanently using
-      dpkg-statoverride or running Wireshark as root.
+      dpkg-statoverride or running dumpcap as root.
+
+      The installation method can be changed any time by running:
+
+         sudo dpkg-reconfigure wireshark-common
 
-   The installation method can be changed any time by running:
-   dpkg-reconfigure wireshark-common
+      The question mentioned above will be asked; answer "<Yes>" to it.
 
 
 II. Installing SNMP MIBs
index c681c575d1e35c7dd760d0df29de26474cd52f72..e3d4f8078571ec42443250a591b76f1a6a6ea470 100644 (file)
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -566,8 +566,19 @@ relinquish_all_capabilities(void)
   #define PLATFORM_PERMISSIONS_SUGGESTION \
     "\n\n" \
     "On Debian and Debian derivatives such as Ubuntu, if you have " \
-    "installed Wireshark from a package, try running " \
-    "\"dpkg-reconfigure wireshark-common\"."
+    "installed Wireshark from a package, try running" \
+    "\n\n" \
+    "    sudo dpkg-reconfigure wireshark-common" \
+    "\n\n" \
+    "selecting \"<Yes>\" in response to the question" \
+    "\n\n" \
+    "    Should non-superusers be able to capture packets?" \
+    "\n\n" \
+    "adding yourself to the \"wireshark\" group by running" \
+    "\n\n" \
+    "    sudo usermod -a -G wireshark {your username}" \
+    "\n\n" \
+    "and then logging out and logging back in again."
 #elif defined(__APPLE__)
   #define PLATFORM_PERMISSIONS_SUGGESTION \
     "\n\n" \