那麼即使馬丁基本上回答了這個具有非常的猜測,我進入這個作爲答案因爲它太長了評論進入。
這裏是證據...
•事實上,10.7時自動保存和版本推出,所以這就是爲什麼你沒有看到UF_TRACKED在stat.h 10.6。
•我在運行Mac OS X 10.7的Mac上試過我的實驗,它的行爲與10.8中的相同。
•有是的模式:一些應用程序,它檢查後數似乎是那些已經採用了自動保存和版本創建的文檔文件,是在1 UF_TRACKED = 0×40的人。
•另一個實驗。我改名爲Mac OS X中的修訂守護可執行文件,
/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond
然後重新啓動Mac和監控的UF_TRACKED狀態Dropbox中有0x40的文檔文件。然後,我在另一臺Mac上更改了該文件,以便Dropbox將其禁用到版本的守護程序,並將其推送到此Mac。結果:文件的UF_TRACKED狀態從0x40更改爲0x00,但這次確實是而不是在2秒後變回0x40。
•它做變化爲0x40 30秒後,當我恢復了修訂守護它原來的名字,並重新啓動。 (顯然修訂是通過啓動KeepAlive屬性啓動的。)
==================
因此證據是壓倒性的,馬丁的猜測是正確的。它是Apple的修訂後臺程序而不是Dropbox,它將UF_TRACKED設置爲0x40。這一點的意義在於它的文檔修訂版正在被Lion Auto Save和Versions追蹤。
啊,頭文件!因此,在這種情況下,「用戶」看起來就是unix文件所有者(如所有者,組,所有人)。這個UF_TRACKED是超出其他stat狀態的8個標誌位之一,或者限制文件可能/應該被修改。我想知道這些規則是否有任何強制執行機制,或者它們只是關心看待它們的計劃的諮詢。我將不得不做一些實驗。 – 2013-05-11 15:52:29
@JerryKrinock:這些標誌絕對不僅僅是諮詢。例如,如果您執行「chflags uappend myfile」,則「ls> myfile」(覆蓋)將失敗,但「ls >> myfile」(append)有效,因此標記「僅附加」由文件系統強制執行。 – 2013-05-11 15:55:49
@JerryKrinock:我能找到的唯一一個對'UF_TRACKED'的引用是http://stackoverflow.com/questions/10607877/uf-tracked-file-flag-from-stat-h。我*認爲*這與OS X的「自動保存和版本」功能相關,但這只是一個猜測。 – 2013-05-11 15:57:29