Настройка wireshark для пользователя без полномочий root

9

Я настраиваю Wireshark для запуска от имени пользователя root, а-ля здесь , то есть:

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

Это все замечательно. Но когда я пытаюсь запустить wireshark как пользователь wireshark, используя:

sudo -s -u $USER wireshark

Я получаю следующую ошибку:

no protocol specified
gtk-warning ** cannot open display

Часть «протокол не указан» кажется довольно простой. И GTK-предупреждение не может открыть дисплей, кажется, относится именно к этой проблеме .

«У вас есть два способа заставить это работать: предоставить его или получить root. Вы (greg) можете предоставить его с помощью« xhost local: root ». Или root может получить его, потому что он может получить доступ к вашим файлам:« export ». ВЛАСТЬ = / дом / Greg / .Xauthority «.

Это не имеет смысла для меня. Какой смысл предоставлять доступ другим пользователям, если они все равно не могут открыть программу? Это разделение сделано по соображениям безопасности, поэтому изменение выше не отменяет предыдущий комментарий

«Это связано с контролем доступа к вашему X-серверу. Вы же не хотите, чтобы кто-то открывал окна на вашем экране, не так ли? Поэтому, если вы запустили X-сервер под своей собственной учетной записью (greg), тогда любой другой пользователь (например, root) ) не имеет к нему доступа. "

TLDR; Это стандартная практика и способ, которым это должно быть сделано, для достижения разделения между учетной записью root и другой учетной записью пользователя? Это похоже на «взлом» для меня.

user125290
источник
Возможный дубликат Как мне запустить wireshark с правами root?
Эрик Карвалью,

Ответы:

9

$USERздесь, чтобы увидеть в качестве переменной оболочки. Третья команда выше добавляет вашего пользователя в wireshark groupи должна быть заменена на sudo adduser <yourUser> wireshark.
Теперь вы должны иметь возможность вызывать wireshark как себя (больше не нужно sudo).

guntbert
источник
1

Вот как я установил Wireshark и заставил его работать как пользователь без полномочий root:

Установите Wireshark:

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

Включите его для запуска от имени пользователя без полномочий root:

sudo dpkg-reconfigure wireshark-common
sudo adduser <yourUser> wireshark
sudo chmod +x /usr/bin/dumpcap
Фернандо Мендиороз
источник
1
Почему вы предлагаете использовать PPA? Wireshark доступен в стандартном репозитории.
Гюнтберт
0

Установить Wireshark

В основном разработчики Wireshark предоставляют два PPA: 1. Стабильная версия 2. Ночная версия (ссылка на официальную стабильную версию разработчиков Wireshark / Nightly PPA )

  1. Использование стабильной версии разработчиков Wireshark (до 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. Использование Wireshark Developers Nightly Release (поддерживается до 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
    

Не забудьте выйти из системы текущего пользователя и заново войти (добавив группу пользователей)

Нисанх ачарья
источник