【问题标题】:pcap_dump() lower permission to user onlypcap_dump() 仅对用户低权限
【发布时间】:2017-08-15 23:38:09
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    使用当前 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-------

    【讨论】:

      猜你喜欢
      • 2010-09-25
      • 2012-03-14
      • 1970-01-01
      • 2011-02-20
      • 2017-12-18
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多