我正在努力改进一个给定的代码(不知道是谁写的)
我正在使用pcap_dump()
和#include <pcap.h>
来捕获文件并将文件写入磁盘。
正在编写的文件也具有对组和其他的读取权限(-rw-r - r - )
有没有办法将其更改为用户只读/写(-rw -------) 或者我必须做一个解决方法。 谢谢
答案 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-------