Centos7 tcpdump -w 时遇到 Permission denied

一、问题

使用tcpdump抓包并写入文件时出现 Permission denied,权限不足。

bash 复制代码
[root@storm03 tcpdumpTest]# tcpdump -i em4 udp and host 225.1.2.5 and port 10111 -G 60 -w %Y_%m%d_%H%M_%S.pcap
tcpdump: listening on em4, link-type EN10MB (Ethernet), capture size 65535 bytes
tcpdump: 2024_0422_1602_51.pcap: Permission denied

二、分析

既然提示权限不足,咱们就去看权限,使用如下命令查看当前目录的权限:

bash 复制代码
[root@storm03 tmp]# ll
总用量 10031100
drwxr-xr-x 2 root    root          4096 4月  22 16:04 tcpdumpTest

可以看到目录所有者root用户具有读、写和执行权限,所属组和其他用户只具有读和执行权限,没有w写权限;

而tcpdump抓包写入的文件所属组和用户一般为tcpdump,如下所示:

bash 复制代码
[root@storm03 tmp]# ll
总用量 10031128
-rw-r--r-- 1 tcpdump tcpdump  767743134 4月  19 10:44 last_test1.cap
-rw-r--r-- 1 tcpdump tcpdump  449740452 4月  19 09:13 last_test.cap

那就很清楚了,为当前目录的其他用户也设置w写权限即可解决问题。

三、解决方案

使用如下命令为当前目录开放所有权限:

bash 复制代码
[root@storm03 tmp]# chmod 777 tcpdumpTest/
[root@storm03 tmp]# ll
drwxrwxrwx 2 root    root          4096 4月  22 16:04 tcpdumpTest

再次使用tcpdump抓包,正常:

bash 复制代码
[root@storm03 tcpdumpTest]# tcpdump -i em4 udp and host 225.1.2.5 and port 10111 -G 10 -Z root -w %Y_%m%d_%H%M_%S.pcap
tcpdump: listening on em4, link-type EN10MB (Ethernet), capture size 65535 bytes
^C61846 packets captured
62143 packets received by filter
0 packets dropped by kernel
[root@storm03 tcpdumpTest]# ll
总用量 82996
-rw-r--r-- 1 root root 22404468 4月  22 16:34 2024_0422_1634_46.pcap
-rw-r--r-- 1 root root 22877124 4月  22 16:35 2024_0422_1634_56.pcap
-rw-r--r-- 1 root root 22753464 4月  22 16:35 2024_0422_1635_06.pcap
-rw-r--r-- 1 root root 16941444 4月  22 16:35 2024_0422_1635_16.pcap
相关推荐
G_H_S_3_10 分钟前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
绝缘体132 分钟前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
猿究院--王升1 小时前
HTTP的协议
网络
G_H_S_3_2 小时前
【网络运维】Linux:正则表达式
linux·运维·网络·正则表达式
腾科张老师4 小时前
OSPF 典型组网
网络·智能路由器
2301_801673019 小时前
8.19笔记
网络·安全
Mike_Wuzy12 小时前
【音频信号发生器】基本应用
测试工具
三坛海会大神55513 小时前
计算机网络参考模型与子网划分
网络·计算机网络
云卓SKYDROID13 小时前
无人机激光测距技术应用与挑战
网络·无人机·吊舱·高科技·云卓科技
iナナ18 小时前
传输层协议——UDP和TCP
网络·网络协议·tcp/ip·udp