Configuration de Wireshark pour un utilisateur non root

9

Je suis en train de configurer Wheelshark pour qu'il fonctionne en tant qu'utilisateur non root, c'est ici :

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

C'est super. Mais lorsque j'essaie de démarrer Wireshark en tant qu'utilisateur Wireshark, en utilisant:

sudo -s -u $USER wireshark

J'obtiens l'erreur suivante:

no protocol specified
gtk-warning ** cannot open display

La partie «aucun protocole spécifié» semble assez simple. Et l'avertissement gtk ne peut pas ouvrir l'affichage semble être lié exactement à ce problème .

"Vous avez deux façons de faire fonctionner ceci: accordez-le ou demandez à root de le prendre. Vous (greg) pouvez l’accorder au moyen de 'xhost local: root'. Ou root peut le prendre, car il peut accéder à vos fichiers: 'export AUTORITÉ = / home / greg / .Xauthority '. "

Cela n'a aucun sens pour moi. Quel était l'intérêt d'accorder l'accès à l'autre utilisateur s'il ne peut pas ouvrir le programme de toute façon? Cette séparation est effectuée pour des raisons de sécurité, donc n'effectue pas la modification ci-dessus pour revenir au commentaire précédent

"Cela a à voir avec le contrôle d'accès à votre serveur X. Vous ne voulez pas que n'importe qui ouvre des fenêtres sur votre écran, n'est-ce pas? Donc, si vous avez démarré le serveur X sous votre propre compte (greg), alors tout autre utilisateur (comme root ) n'y a pas accès. "

TLDR; Est-ce une pratique standard et la façon dont cela devrait être fait pour réaliser la séparation entre le compte root et les autres comptes utilisateur? Cela me semble être un "hack".

user125290
la source

Réponses:

9

$USERest là pour voir comme une variable shell. La troisième commande ci-dessus ajoute votre utilisateur à wireshark groupet doit être remplacée par sudo adduser <yourUser> wireshark.
Vous devriez maintenant pouvoir invoquer wirehark comme vous-même (plus besoin de sudo).

guntbert
la source
1

Voici comment j'ai installé Wireshark et l'ai fait fonctionner, en l'exécutant en tant qu'utilisateur non root:

Installez Wireshark:

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

Activez-le pour qu'il s'exécute en tant qu'utilisateur non root:

sudo dpkg-reconfigure wireshark-common
sudo adduser <yourUser> wireshark
sudo chmod +x /usr/bin/dumpcap
Fernando Mendioroz
la source
1
Pourquoi proposez-vous d'utiliser un PPA? Wireshark est disponible dans le référentiel standard.
guntbert
0

Installer Wireshark

Il y a principalement deux PPA fournis par l'équipe de développeurs Wireshark 1. Version stable 2. Version Nightly (Lien vers l' écurie officielle Wireshark Developers / Nightly PPA )

  1. Utilisation de la version stable de Wireshark Developers (jusqu'à 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. Utilisation de la version nocturne de Wireshark Developers (prise en charge jusqu'à 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
    

N'oubliez pas de déconnecter l'utilisateur actuel et de vous reconnecter (ajout d'un groupe d'utilisateurs)

Nisankh Acharjya
la source