【发布时间】:2015-06-04 03:24:09
【问题描述】:
我正在尝试将字符串写入文件,并将文件的权限设置为 777。生成的文件为空白,权限为 775。模式掩码似乎是正确的,当我使用 access() 检查时,它返回 0。我可以将文件 chmod 为 777(不使用 sudo)。怎么回事?
运行 ubuntu 14.10。硬盘是 ext3/4。
if (argc == 1) {
int fd = open ("sampleFile", O_CREAT , S_IRWXU | S_IRWXG | S_IRWXO);
int writ = 0xDEADBEEF;
if (fd != -1) {
char str [] = "My permission should be set to 777.";
writ = write (fd, &str, (int)strlen (str));
//writ = access ("sampleFile", W_OK);
close (fd);
printf ("(%o) %s\n", writ, str);
return 0;
}
else {
printf ("Couldn't make sampleFile in pwd.\n");
return 1;
}
}
【问题讨论】: