pcap_dump()仅限用户权限

时间:2017-03-23 12:11:38

标签: c++ linux file-permissions pcap libpcap

我正在努力改进一个给定的代码(不知道是谁写的)

我正在使用pcap_dump()#include <pcap.h>来捕获文件并将文件写入磁盘。 正在编写的文件也具有对组和其他的读取权限(-rw-r - r - )

有没有办法将其更改为用户只读/写(-rw -------) 或者我必须做一个解决方法。 谢谢

1 个答案:

答案 0 :(得分:2)

使用当前umask的权限创建新文件。 umask指定允许的权限,例如 umask 077表示组/其他不允许任何权限,022(默认值)表示组/其他不允许写入权限

您可以在运行程序之前在shell中设置它,即

umask 077
./pcap_program

你也可以在程序中设置它:

 #include <sys/types.h>
 #include <sys/stat.h>

 void foo() {
     umask(0077);  
 }

注意:开头的0必须使数字为八进制数。

这些都会将新文件的权限设置为600(= 0666&amp; ~0077)或-rw-------