我正嘗試在Linux(Ubuntu)的C上創建一個只寫文件。 這是我的代碼:在Linux中使用C創建文件
int fd2 = open ("/tmp/test.svg", O_RDWR|O_CREAT);
if (fd2 != -1) {
//....
}
可是爲什麼我創建的文件有「XR」模式?我怎樣才能創建它,以便我可以在命令提示符下自己打開它?
------xr-- 1 michael michael 55788 2010-03-06 21:57 test.txt*
------xr-- 1 michael michael 9703 2010-03-06 22:41 test.svg*
不安全代碼的絕妙例子。 – 2010-03-07 07:27:16
@邁克爾Foukarakis:暫時,有更大的問題需要處理,但你是對的。應該添加O_EXCL(以避免遵循惡意破壞的符號鏈接,並避免在同一臺計算機上運行同一程序時剽竊其他人的文件);固定名稱在生產代碼中會有問題,所以它應該使用''mkstemp()''或者一個相關來創建文件名。毫無疑問,這份名單仍在繼續。 – 2010-03-07 07:30:58