FlossDoc: 請協力 GPLv3 的中文翻譯工作。

改變 Ext4 檔案屬性 (attribute)

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

目录

列出檔案屬性設定

$ lsattr
--------------I---- ./Archive
-----------------e- ./CheckList.odt
-----------------e- ./Todo.odt

檔案屬性

可改動的屬性

  • A - 設定此屬性的檔案被讀取內容時,其最後讀取時間將不會被改變。
  • a - 設定此屬性的檔案只可以以附加模式 (append mode) 開啟。任何使用者 (包括超級使用者 root) 只可以附加內容在此檔案的尾後,而不能更改原有的內容。只有超級使用者 root 或擁有 CAP_LINUX_IMMUTABLE 權力的進程 (process) 才可以設定或清除此屬性。
  • D - 當設定此屬性的目錄被改動時,會即時同步至硬碟中。
  • d - 設定此屬性的檔案將不會被備份。
  • i - 設定此屬性的檔案不可以被任何使用者 (包括超級使用者 root) 改變內容、刪除、改變名稱其至建立硬連結 (link)。只有超級使用者 root 或擁有 CAP_LINUX_IMMUTABLE 權力的進程 (process) 才可以設定或清除此屬性。
  • j - 當有關檔案系統使用 "data=ordered" 或 "data=writeback" 掛載,設定此屬性的檔案在更改時會先將所有對內容的改動寫入 ext3 日誌 (ext3 journal),然後才寫入檔案中。(相等於使用 "data=journal" 的選項) 這可以大大減少突然當機做成的檔案內容流失。只有超級使用者 root 或擁有 CAP_SYS_RESOURCE 權力的進程 (process) 才可以設定或清除此屬性。
  • S - 當設定此屬性的檔案內容被改動時,會即時同步至硬碟中。
  • h - 用來標示設定此屬性的檔案使用檔案系統區塊大小 (block size) 而非磁區 (sector) 表示檔案大小。這亦意味著此檔案現在或曾經大於 2TB。

只作標示的屬性

以下檔案屬性只用作標示檔案的一些狀態,任何人包括超級使用者都不能設定或清除這些屬性:

  • E - 用來標示設定此屬性的檔案在壓縮時發生問題。
  • e - 用來標示設定此屬性的檔案已使用 extends 方式表示存放其內容的區塊 (block)。
  • I - 用來標示設定此屬性的目錄已使用 hashed tree 索引。

未實現的屬性

以下檔案屬性至今仍在現行 Linux 仍未有支援,只作預留未來或個別實驗性補丁使用:

  • c - 設定此屬性的檔案寫入時先被 kernel 壓縮後才儲存,讀取時會被自動解壓。
  • s - 當設定此屬性的檔案被刪除時,檔案內容每一個位元組會先被重設為零。

改變檔案屬性

$ chattr +A CheckList.odt
$ lsattr CheckList.odt
-------A---------e- ./CheckList.odt

請參看

外部連結

Personal tools