你为什么要用umask?

fab*_*ioM 5 c c++ unix

我正在阅读一些源代码,我在主程序的最开头发现了这个语句:

umask(077);
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

手册页(man 2 umask)指出:

umask - 设置文件创建模式掩码

此清除允许每个用户限制对其文件的默认访问

但我不清楚为什么有人这样做?作为捷径?

Dav*_*man 11

设置umask(077)确保程序创建的任何文件只能由其所有者访问(第一个位置为0 =可能的所有权限)和其他任何人(第二个/第三个位置中的7个=不允许组/其他的所有权限).