Испытываю затруднения при выполнении tcpdump. Я должен выполнить tcpdump с некорневым пользователем. Искавший сеть мою проблему и вычисленный я должен:
sudo setcap cap_net_admin=eip /usr/sbin/tcpdump
Это позволило мне выполнить tcpdump со своим пользователем, но затем я добрался:
you don't have permission to capture on that device
на любом устройстве я пытался получить.
Также пошел немного "в лоб" и сделал:
sudo chmod +s /usr/sbin/tcpdump
Это не сделало этого также.
Немного поздно, но у меня просто была та же проблема. Необходимо дать tcpdump
разрешение и возможность позволить необработанные захваты пакетов и управление сетевым интерфейсом .
Добавляют группу получения и добавляют себя к нему:
sudo groupadd pcap
sudo usermod -a -G pcap $USER
Затем, изменяют группу tcpdump
и устанавливают полномочия:
sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump
Наконец, используйте setcap
для предоставления tcpdump
необходимые полномочия:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
Быть осторожным, что это позволит всем от группы pcap управлять сетевыми интерфейсами и читать необработанные пакеты!
Найденный им здесь: Настраивают tcpdump для работы некорневой
Возможно, это могло бы работать. Подобный тому, что уже было отправлено. Это не было протестировано на человечности.
(используют группу, которой Ваш пользователь является членом) 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' chgrp wireshark/usr/sbin/tcpdump
setcap/usr/sbin/tcpdump
с помощью getcap/usr/sbin/tcpdump необходимо видеть/usr/sbin/tcpdump = cap_net_admin, cap_net_raw+eip