Maz*_*Maz 4 c fopen file-permissions
根据OpenGroup,如果使用O_CREAT调用open()并且文件尚不存在,则将使用指定为函数中第三个参数的文件权限创建它:
该文件应创建; 文件的用户ID应设置为进程的有效用户ID; 文件的组ID应设置为文件父目录的组ID或进程的有效组ID; 并且文件模式的访问权限位(请参阅)应设置为类型mode_t的第三个参数的值
是否可以使用fopen()执行类似的操作,以便我可以在创建时设置新文件的权限,而不必在之后chmod它?
从fopen(3)手册页:
任何创建的文件都将具有模式
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (0666),由进程的umask值修改(请参阅umask(2)).
所以,umask(2)是你的朋友.