Wireshark für Nicht-Root-Benutzer einrichten

9

Ich richte wireshark so ein , dass es als Nicht-Root-Benutzer ausgeführt wird, a la here , das heißt:

sudo apt-get install wireshark
sudo dpkg-reconfigure wireshark-common 
sudo usermod -a -G wireshark $USER
(restart)

Das ist alles großartig. Aber wenn ich versuche, wireshark als wireshark-Benutzer zu starten, benutze ich:

sudo -s -u $USER wireshark

Ich erhalte folgenden Fehler:

no protocol specified
gtk-warning ** cannot open display

Der Teil "kein Protokoll angegeben" scheint ziemlich einfach zu sein. Und die gtk-Warnung kann das Display nicht öffnen scheint sich genau auf dieses Problem zu beziehen .

"Sie haben zwei Möglichkeiten, um dies zum Laufen zu bringen: Gewähren Sie es oder lassen Sie es von root übernehmen. Sie (greg) können es mit 'xhost local: root' gewähren. Oder root kann es übernehmen, weil es auf Ihre Dateien zugreifen kann: 'exportieren AUTHORITY = / home / greg / .Xauthority '. "

Das ergibt für mich keinen Sinn. Was war der Grund, dem anderen Benutzer Zugriff zu gewähren, wenn er das Programm trotzdem nicht öffnen kann? Diese Trennung erfolgt aus Sicherheitsgründen, sodass die oben genannte Änderung nicht den vorherigen Kommentar zurücksetzt

"Dies hat mit der Zugriffskontrolle auf Ihren X-Server zu tun. Sie möchten nicht, dass irgendjemand Fenster auf Ihrem Bildschirm öffnet, oder? Wenn Sie also den X-Server unter Ihrem eigenen Konto (greg) gestartet haben, dann jeden anderen Benutzer (wie root) ) hat keinen Zugriff darauf. "

TLDR; Ist dies die Standardpraxis und die Art und Weise, wie dies getan werden sollte, um eine Trennung zwischen dem Root-Konto und einem anderen Benutzerkonto zu erreichen? Es scheint mir ein "Hack" zu sein.

user125290
quelle
Mögliches Duplikat von Wie führe ich Wireshark mit Root-Rechten aus?
Eric Carvalho

Antworten:

9

$USERist hier als Shell-Variable zu sehen. Der dritte Befehl oben fügt Ihren Benutzer dem hinzu wireshark groupund sollte durch ersetzt werden sudo adduser <yourUser> wireshark.
Jetzt sollten Sie in der Lage sein, Wireshark als Sie selbst aufzurufen (kein Sudo mehr erforderlich).

guntbert
quelle
1

So habe ich Wireshark installiert und zum Laufen gebracht, indem ich es als Nicht-Root-Benutzer ausgeführt habe:

Installieren Sie Wireshark:

sudo apt-get update
sudo add-apt-repository ppa:dreibh/ppa
sudo apt-get update
sudo apt-get install wireshark

Aktivieren Sie es, um als Nicht-Root-Benutzer ausgeführt zu werden:

sudo dpkg-reconfigure wireshark-common
sudo adduser <yourUser> wireshark
sudo chmod +x /usr/bin/dumpcap
Fernando Mendioroz
quelle
1
Warum schlagen Sie vor, einen ppa zu verwenden? Wireshark ist im Standard-Repository verfügbar.
Guntbert
0

Installieren Sie Wireshark

Es werden hauptsächlich zwei PPA vom Wireshark Developer Team bereitgestellt. 1. Stabile Version 2. Nächtliche Veröffentlichung (Link zum offiziellen Stall / nächtlichen PPA der Wireshark Entwickler )

  1. Verwenden von Wireshark Developers Stabile Version (bis zu Ubuntu Bionic)

    sudo add-apt-repository ppa:wireshark-dev/stable -y
    sudo apt update
    sudo apt install wireshark
    sudo dpkg-reconfigure wireshark-common
    sudo adduser $USER wireshark
    sudo chmod +x /usr/bin/dumpcap
    
  2. Verwenden von Wireshark Developers Nightly Release (unterstützt bis Ubuntu Xenial)

    sudo add-apt-repository ppa:wireshark-dev/nightly
    sudo apt update
    sudo apt install wireshark
    sudo dpkg-reconfigure wireshark-common
    sudo adduser $USER wireshark
    sudo chmod +x /usr/bin/dumpcap
    

Vergessen Sie nicht, den aktuellen Benutzer abzumelden und sich erneut anzumelden (Benutzergruppe hinzufügen).

Nisankh Acharjya
quelle