Як запустити провідну операцію з правами 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.