4

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

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

是否可以使用 fopen() 做类似的事情,以便我可以在创建时设置新文件的权限,而不必事后对其进行 chmod?

4

1 回答 1

6

fopen(3)手册页:

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

umask(2)的朋友也是。

于 2013-03-19T22:11:20.603 回答