fopen()创建权限模式

时间:2013-03-19 22:08:38

标签: c fopen file-permissions

根据OpenGroup,如果使用O_CREAT调用open()并且文件尚不存在,则将使用指定为函数中第三个参数的文件权限创建它:

  

应创建文件;文件的用户ID应设置为   进程的有效用户ID;文件的组ID应为   设置为文件父目录的组ID或有效   进程的组ID;和访问权限位(见   )文件模式应设置为第三个值   参数类型为mode_t

是否可以使用fopen()执行类似的操作,以便我可以在创建时设置新文件的权限,而不必在之后chmod它?

1 个答案:

答案 0 :(得分:6)

来自fopen(3)手册页:

  

任何创建的文件都将具有模式S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (0666),由进程的umask值修改(请参阅umask(2))。

所以umask(2)是你的朋友。