umask(0);
fd = open("/dev/null", O_RDWR);
Here's man 2 umask
:
umask() sets the calling process’s file mode creation mask (umask) to mask & 0777.
但这对我来说没有意义,因为当我们打电话时open
,我们还将提供一个模式参数。
那么有什么意义umask
?
umask 适用于文件系统操作中使用的所有模式。来自手册open(2)
:
创建的文件的权限是(mode & ~umask)
因此,只需调用 umask,您就可以影响所有创建文件的模式。
当程序希望用户允许推翻其创建的文件/目录的默认授权时,通常使用此方法。偏执的用户(或 root)可以将 umask 设置为0077
这意味着即使您指定0777
in open(2)
,只有当前用户才能访问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)