Як запустити провідну операцію з правами root?


94

Стандартна установка Wireshark не дає програмі дозволу на доступ до мережевого інтерфейсу.

Я вважаю, що мені доведеться запускати програму sudo, але не знаю, як додати її до значка - якщо це так зробити.


Ви говорите про WireShark? Якщо ні, чи можете ви зв’язати посилання на домашню сторінку програми, щоб ми побачили, про що ви говорите. Дякую.
Олі

Насправді він, мабуть, говорить про Wireshark, а не про WireShark. :-)

Ви можете спробувати tcpdumpінструмент в Linux, якщо wiresharkдоставляє вам занадто багато проблем.
warfreak92

Відповіді:


149

Для WireShark є кращий спосіб. Біт , який зазвичай потрібно корінь є додатком для збору пакетів і це може бути налаштоване так, щоб деякі люди , щоб використовувати його без sudo, gksu, etc.

У терміналі (дуже важливо, що ви знаходитесь в терміналі, а не тільки діалозі Alt + F2) запустіть це:

sudo dpkg-reconfigure wireshark-common

Це запитає вас, чи хочете ви дозволити користувачеві, котрий не має права доступу, мати можливість нюхати. Це те, що ми прагнемо, тому виберіть Yesі натисніть кнопку повернення.

Переконфігурування дроту - звичайна

Це додає wiresharkгрупу. Будь-хто в цій групі зможе нюхати, не будучи рут. Це, очевидно, більш безпечно, ніж просто дозволяти комусь нюхати, але це означає, що немає перевірки паролем. Технічно будь-яка людина, яка має доступ до комп’ютера, який увійшов з wiresharkобліковим записом, зможе нюхати. Якщо це для вас прийнятно, продовжуйте.

Якщо ні, запустіть це ще раз і виберіть ні.

Тоді вам просто потрібно додати користувача до цієї групи. Виконати це:

sudo adduser $USER wireshark

І перезавантажте або вийдіть із системи. Коли ви знову в ній, ви повинні почати нюхати, не маючи суєти з приводу того, що корінь.


2
Будь-який спосіб пропустити крок перезавантаження / вихід?
Taha Jahangir

4
Це рішення припинило свою роботу в 14.04
Янго

9
І так, це, безумовно, набагато кращий спосіб, ніж запускати Wireshark як root. Файл README.packaging у джерелі Wireshark зазначає, що "WIRESHARK МЕЖАЄ ДВІ МІЛЬЙОНІ ЛІНІЇ КОДУ ДЖЕРЕЛА.

3
@TahaJahangir Якщо перезапуск / вихід виходить незручним, ви можете використовувати newgrp wiresharkкоманду для тимчасового входу в групу після того, як ви стали членом wiresharkгрупи.
Лекенштейн

3
@TahaJahangir та Oli: Набагато зручніше, ніж виходити з системи - це використовувати, su - $USERяк описано в Reload Linux групових завданнях без виходу з системи - Super User
nealmcb

3

Ви також можете запустити Wireshark з правами root, запустивши gksu wiresharkз терміналу.

Зауважте, що при запуску Wireshark у цьому режимі є проблеми щодо безпеки, а саме те, що будь-який подвиг, який компрометує Wireshark, тепер має кореневі привілеї, а не привілеї користувача. Це стосується Wireshark, ніж інших програм, тому що, за своєю суттю (захоплення та обробка довільного введення), Wireshark є більш вразливим до експлуатації, ніж типові настільні програми. Ви, ймовірно, в безпеці в мережі SOHO, але вам слід знати про це, перш ніж продовжувати.

Цитати:


Я щойно налаштував це за допомогою прапора --enable-setcap-install, тоді я не можу цього зробити.
Посмішка. Мисливець

Це набагато небезпечніше і більш проблематично, оскільки існують більш корисні помилки при запуску повного gui як root, а проблеми конфігурації можуть з'являтися, коли програма gui працює як root. Дивіться рішення для перенастроювання dpkg вище для набагато кращого варіанту.
nealmcb

Для користувачів настільних комп'ютерів я вважаю це способом вирішення. Коли ви користуєтеся програмою, усі створені файли мають дозвіл на root, і вам потрібно постійно змінювати дозволи файлів, щоб зробити їх доступними для вашого поточного користувача у вашому домашньому каталозі. Для сервера та сисадмінів взагалі найкраще підходить sudo.
JulioHM

@JulioHM Запуск Wireshark як корінника небезпечний для всіх, включаючи сервер та sysadmins.
kraxor

1
Приблизно в рядку 40 файлу doc / README.packaging Wireshark написано , що "WIRESHARK МЕЖАЄ ДВІ МІЛЬЙОНІ ЛІНІЇ КОДУ ДЖЕРЕЛА. Поставтеся до цієї заяви дуже серйозно.

3

Дійсно, вам не потрібно запускати WireShark як root. Будь ласка, прочитайте офіційну сторінку . Якщо коротко, ви повинні зробити:

sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Потім вийдіть із системи та увійдіть знову.

Примітка. Цей метод був випробуваний на 16.04 LTS, 17.10 та 18.04 LTS.


1
Це залишатиметься інтерфейсом від завантаження, якщо не буде змінено. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

ви можете також спробувати це, відкрити термінал, виконати цю команду

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

запустити wireshark як некористувацький користувач

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.