我在运行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那也没做过。
发布于 2015-06-04 11:42:06
现在有点晚了,但我也遇到了同样的问题。您需要授予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配置为非根
发布于 2015-04-08 07:56:29
也许这能行。类似于已经发布的内容。它还没有在ubuntu上测试过。
(使用用户为成员的组) /usr/sbin/tcpdump
setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip‘/usr/sbin/tcpdump
使用getcap.usr/sbin/tcpdump,您应该看到/usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip
https://askubuntu.com/questions/530920
复制相似问题