10 сент. 2012 г.

Запуск Wireshark под обычным (non-root) пользователем

Всё нижесказанное валидно для Oracle Linux 6 (RedHat 6, CentOS 6) 64 бита, в других дистрибутивах команды будут немного отличаться. Wireshark установлен не из пакетов, а их исходников, как я писал здесь

1. Устанавливаем зависимости (если еще не установлены):

yum install ibcap.x86_64 libcap-devel.x86_64

2. Проверяем наличие группы wireshark и если ее нет, создаем:

cat /etc/group
groupadd wireshark

3. Добавляем пользователя, под которым нужно использовать wireshark, в эту группу:

usermod -a -G wireshark user
newgrp wireshark

Устанавливаем права команде dumpcap и добавляем ее в нашу группу:

setcap cap_net_raw,cap_net_admin=eip /usr/local/bin/dumpcap
chgrp wireshark
/usr/local/bin/dumpcap
chmod 750 /usr/local/bin/dumpcap
4. Проверяем:

getcap /usr/local/bin/dumpcap
su user
wireshark

Всё. Должно работать.