2010-05-06 46 views
5

我讀一些源代碼,我發現在主程序的開始這種說法:你爲什麼要使用umask?

umask(077); 

可能是什麼原因呢?

的頁(man 2的umask)指出:

的umask - 設置文件創建模式掩碼

此結算允許每個用戶 限制他 文件的默認訪問

但我不清楚爲什麼有人會那樣做?作爲捷徑?

+0

你熟悉UNIX文件的屬性,我的意思是你知道拿什麼第一列命令「ls -l命令」? -rwx ------ + – Dewfy 2010-05-06 10:31:25

+0

@Dewfy是的,我做 – fabrizioM 2010-05-06 11:14:37

回答

10

設置umask(077)確保了由該程序創建的所有文件將只對他們的擁有者訪問(在第一位置0 =潛在可用的所有權限)在第二/第三位置和其他人(7 =所有權限不允許組/其他)。

+1

你會希望在一個程序中看到這個設置,在任何情況下都會產生高度敏感的文件,這些文件應該永遠不會被任何其他用戶訪問('ssh -keygen'就是一個很好的例子)。普通程序應該尊重用戶已經設置的現有'umask()'。 – caf 2010-05-07 03:05:38