我正在努力改进给定的代码(不知道是谁写的)
我正在使用 pcap_dump()
和 #include <pcap.h>
捕获文件并将其写入磁盘。
正在写入的文件对组和其他 (-rw-r--r--) 也具有读取权限
有没有办法将其更改为用户只读/写(-rw--------) 或者我必须做一个解决方法。 谢谢
最佳答案
新文件是使用当前 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 & ~0077),或 -rw--------
关于c++ - pcap_dump() 仅对用户降低权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42975663/