pcap_dump() 仅对用户降低权限
pcap_dump() lower permission to user only
我正在努力改进给定的代码(不知道是谁写的)
我正在使用 pcap_dump()
和 #include <pcap.h>
捕获文件并将其写入磁盘。
正在写入的文件对组和其他 (-rw-r--r--)
也具有读取权限
有没有办法将其更改为仅限用户 read/write (-rw--------)
或者我必须做一个解决方法。
谢谢
使用当前 umask 的权限创建新文件。
umask 指定哪些权限是 不 允许的,例如
umask 077 表示 group/other 没有权限,022(默认值)表示 group/other
没有写权限
你可以在你的程序运行之前的shell设置,即
umask 077
./pcap_program
你也可以在程序里面这样设置:
#include <sys/types.h>
#include <sys/stat.h>
void foo() {
umask(0077);
}
注意:需要开头的 0 才能使数字成为八进制数。
这些都会将新文件的权限设置为 600(= 0666 和 ~0077),或 -rw-------
我正在努力改进给定的代码(不知道是谁写的)
我正在使用 pcap_dump()
和 #include <pcap.h>
捕获文件并将其写入磁盘。
正在写入的文件对组和其他 (-rw-r--r--)
有没有办法将其更改为仅限用户 read/write (-rw--------) 或者我必须做一个解决方法。 谢谢
使用当前 umask 的权限创建新文件。 umask 指定哪些权限是 不 允许的,例如 umask 077 表示 group/other 没有权限,022(默认值)表示 group/other
没有写权限你可以在你的程序运行之前的shell设置,即
umask 077
./pcap_program
你也可以在程序里面这样设置:
#include <sys/types.h>
#include <sys/stat.h>
void foo() {
umask(0077);
}
注意:需要开头的 0 才能使数字成为八进制数。
这些都会将新文件的权限设置为 600(= 0666 和 ~0077),或 -rw-------