根据OpenGroup的规定,如果使用O_CREAT选项调用open()函数且该文件不存在,则会创建一个文件,并将第三个参数指定的文件权限设置为该文件的权限:
那么,是否可以通过fopen()函数实现类似的功能,即在创建新文件时设置权限,而无需在创建后再执行chmod操作呢?文件将被创建;文件的用户ID应设置为进程的有效用户ID;文件的组ID应设置为文件所在目录的组ID或进程的有效组ID;文件模式的访问权限位(参见)应设置为以mode_t类型为取值的第三个参数的值。
chmod
会更容易。否则可以使用umask
设置默认值。 - teppic