我讀一些源代碼,我發現在主程序的開始這種說法:你爲什麼要使用umask?
umask(077);
可能是什麼原因呢?
的頁(man 2的umask)指出:
的umask - 設置文件創建模式掩碼
此結算允許每個用戶 限制他 文件的默認訪問
但我不清楚爲什麼有人會那樣做?作爲捷徑?
我讀一些源代碼,我發現在主程序的開始這種說法:你爲什麼要使用umask?
umask(077);
可能是什麼原因呢?
的頁(man 2的umask)指出:
的umask - 設置文件創建模式掩碼
此結算允許每個用戶 限制他 文件的默認訪問
但我不清楚爲什麼有人會那樣做?作爲捷徑?
設置umask(077)
確保了由該程序創建的所有文件將只對他們的擁有者訪問(在第一位置0 =潛在可用的所有權限)在第二/第三位置和其他人(7 =所有權限不允許組/其他)。
你會希望在一個程序中看到這個設置,在任何情況下都會產生高度敏感的文件,這些文件應該永遠不會被任何其他用戶訪問('ssh -keygen'就是一個很好的例子)。普通程序應該尊重用戶已經設置的現有'umask()'。 – caf 2010-05-07 03:05:38
它需要文件系統的安全性。 umask包含反向數字,用作新文件的文件模式。例如
[email protected] ~ $ umask
022
[email protected] ~ $ touch file
[email protected] ~ $ ls -la file
-rw-r--r-- 1 dzen dzen 0 6 may 14:29 file
[email protected] ~ $ umask 777
[email protected] ~ $ umask
0777
[email protected] ~ $ touch file1
[email protected] ~ $ ls -la file1
---------- 1 dzen dzen 0 6 may 14:30 file1
你一定要讀了很多Linux基礎的:UNIX/Linux: Beginners Guide to File and Directory Permissions (umask, chmod, read, write, execute)
偉大的鏈接,但單獨連接不起作用。您可以複製/粘貼或轉述相關部分。 – 2012-04-07 06:11:18
你熟悉UNIX文件的屬性,我的意思是你知道拿什麼第一列命令「ls -l命令」? -rwx ------ + – Dewfy 2010-05-06 10:31:25
@Dewfy是的,我做 – fabrizioM 2010-05-06 11:14:37