2
我正在嘗試向文件寫入字符串,並將該文件的權限設置爲777.生成的文件爲空,並且具有775的權限。模式掩碼似乎是正確的,當我檢查訪問()時,它返回0.我可以chmod文件到777(不使用sudo)。這是怎麼回事?將權限設置爲777,生成的文件爲775
運行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;
}
}
1.這是太粗心了。我應該更仔細地閱讀手冊頁。 2.我不知道什麼樣的掩碼,但是在閱讀完人後在終端中調用它後,它就像你懷疑的那樣返回「0002」。我永遠無法把它們放在一起;非常感謝你。 – Lou 2015-03-31 05:47:52