Konfigurowanie wireshark dla użytkownika innego niż root

9

Konfiguruję wireshark, aby działał jako użytkownik inny niż root, tutaj :

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

To wszystko świetnie. Ale kiedy próbuję uruchomić wireshark jako użytkownik wireshark, używając:

sudo -s -u $USER wireshark

Otrzymuję następujący błąd:

no protocol specified
gtk-warning ** cannot open display

Część „bez określonego protokołu” wydaje się dość prosta. I gtk-ostrzeżenie nie można otworzyć wyświetlacz wydaje się dotyczyć dokładnie tej kwestii .

„Istnieją dwa sposoby, aby to zadziałać: udzielić go lub zabrać root. Możesz (greg) udzielić go za pomocą„ xhost local: root ”. Lub root może to zrobić, ponieważ może uzyskać dostęp do twoich plików:„ eksportuj AUTHORITY = / home / greg / .Xauthority '. ”

To nie ma dla mnie sensu. Po co przyznawać dostęp innemu użytkownikowi, jeśli i tak nie może otworzyć programu? To rozdzielenie odbywa się ze względów bezpieczeństwa, więc nie powoduje, że powyższa modyfikacja cofnie wcześniejszy komentarz

„Ma to związek z kontrolą dostępu do twojego serwera X. Nie chcesz, żeby tylko ktoś otwierał okna na twoim ekranie, prawda. Więc jeśli uruchomiłeś serwer X na swoim koncie (greg), to każdy inny użytkownik (jak root) ) nie ma do niego dostępu ”.

TLDR; Czy to standardowa praktyka i sposób, w jaki należy to zrobić, aby osiągnąć separację między kontem użytkownika root a kontem innego użytkownika? Wydaje mi się, że to „hack”.

użytkownik125290
źródło
możliwy duplikat Jak uruchomić Wireshark z uprawnieniami roota?
Eric Carvalho

Odpowiedzi:

9

$USERjest tutaj, aby zobaczyć jako zmienną powłoki. Trzecie polecenie powyżej dodaje użytkownika do wireshark groupi powinno zostać zastąpione przez sudo adduser <yourUser> wireshark.
Teraz powinieneś być w stanie wywołać wireshark jako siebie (nie musisz już sudo).

guntbert
źródło
1

Oto jak zainstalowałem Wireshark i sprawiłem, że działa, uruchamiając go jako użytkownik inny niż root:

Zainstaluj Wireshark:

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

Włącz, aby działał jako użytkownik inny niż root:

sudo dpkg-reconfigure wireshark-common
sudo adduser <yourUser> wireshark
sudo chmod +x /usr/bin/dumpcap
Fernando Mendioroz
źródło
1
Dlaczego sugerujesz użycie ppa? Wireshark jest dostępny w standardowym repozytorium.
guntbert
0

Zainstaluj Wireshark

Są głównie dwa PPA dostarczone przez zespół deweloperów Wireshark 1. Stabilne wydanie 2. Nightly Release (Link do oficjalnej stabilnej / Nightly PPA dla deweloperów Wireshark )

  1. Korzystanie ze stabilnej wersji Wireshark Developers (do 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. Korzystanie z programisty Wireshark Nightly Release (obsługiwane do Xenial dla systemu Ubuntu)

    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
    

Nie zapomnij wylogować bieżącego użytkownika i ponownie się zalogować (dodając grupę użytkowników)

Nisankh Acharjya
źródło