Я настраиваю 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-warning не может открыть дисплей, похоже, относится именно к этой проблеме .
«У вас есть два способа заставить это работать: предоставить его или получить root. Вы (greg) можете предоставить его с помощью« xhost local: root ». Или root может получить его, потому что он может доступ к вашим файлам: 'export AUTHORITY = / home / greg / .Xauthority'. "
blockquote>Это не имеет смысла для меня. Какой смысл предоставлять доступ другим пользователям, если они все равно не могут открыть программу? Это разделение выполняется по соображениям безопасности, поэтому в приведенную выше модификацию не вносятся изменения, отменяющие предыдущий комментарий
"Это связано с контролем доступа к вашему X-серверу. Вы не хотите, чтобы кто-то открывал Окна на вашем экране, не так ли. Поэтому, если вы запустили X-сервер под своей собственной учетной записью (greg), то любой другой пользователь (например, root) не будет иметь к нему доступа. "
blockquote>TLDR ; Это стандартная практика и способ, которым это должно быть сделано, для достижения разделения между учетной записью root и другой учетной записью пользователя? Это похоже на «хак» для меня.
Установка Wireshark
Существует главным образом два PPA, обеспеченные командой Разработчика Wireshark 1. Стабильная версия 2. Ночной Выпуск (Связывают с чиновником Разработчиков Wireshark стабильный/Ночной PPA),
Использование Стабильной версии Разработчиков Wireshark (До Бионической Ubuntu)
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
Используя Разработчиков Wireshark Ночной Выпуск (поддерживаемый до гостеприимной человечности)
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
Не забывайте выход из системы текущий пользователь и перевход в систему (добавляющий группу пользователей)
Вот как я установил 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
$USER
здесь, чтобы видеть в качестве переменной оболочки. Третья команда выше добавляет вашего пользователя к wireshark group
и должна быть заменена на sudo adduser <yourUser> wireshark
.
Теперь вы сможете вызывать wireshark как себя (больше не нужно sudo).