c-如何给每个人写权限



运行以下代码后,文件美味的权限位设置为0700,这是出乎意料的。

#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
int fild = creat("tasty", 0722);
close(fild);
return 0;
}

如何允许每个人都写入文件?

您的shell可能具有022的umask,这意味着创建的任何新文件都将清除指定的位(即组写入和其他写入(。

在创建文件之前,您需要将umask设置为0:

#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
umask(0);
int fild = creat("tasty", 0722);
close(fild);
return 0;
}

最新更新