Acorn 磁碟檔案系統 - ADFS

ADFS 支援的檔案系統

ADFS 模組支援以下 Filecore 格式,這些格式具有

  • 新的對映

  • 新的目錄或大型目錄

就命名格式而言,這意味著我們支援

  • E 和 E+,帶或不帶引導塊

  • F 和 F+

我們完全支援從這些檔案系統讀取檔案,以及寫入現有分配中的現有檔案。 從本質上講,我們不支援更改任何檔案系統元資料。

這旨在支援在 RISC OS Filecore 檔案系統上環回掛載的 Linux 原生檔案系統,但允許更改檔案中的資料。

如果配置了寫入支援 (ADFS_FS_RW),我們允許基本的目錄更新,特別是更新訪問模式和時間戳。

ADFS 的掛載選項

uid=nnn

分割槽中的所有檔案都將由使用者 ID nnn 擁有。 預設為 0 (root)。

gid=nnn

分割槽中的所有檔案都將屬於組 nnn。 預設為 0 (root)。

ownmask=nnn

ADFS “所有者”許可權的許可權掩碼將為 nnn。 預設為 0700。

othmask=nnn

ADFS “其他”許可權的許可權掩碼將為 nnn。 預設為 0077。

ftsuffix=n

當 ftsuffix=0 時,將不應用檔案型別字尾。 當 ftsuffix=1 時,將新增與 RISC OS 檔案型別對應的十六進位制字尾。 預設為 0。

ADFS 許可權到 Linux 許可權的對映

ADFS 許可權包括以下內容

  • 所有者讀取

  • 所有者寫入

  • 其他讀取

  • 其他寫入

(在舊版本中,確實存在“執行”許可權,但它與 Linux “執行”許可權的含義不同,現在已過時)。

對映按以下方式執行

    Owner read                              -> -r--r--r--
    Owner write                             -> --w--w---w
    Owner read and filetype UnixExec        -> ---x--x--x
These are then masked by ownmask, eg 700    -> -rwx------
    Possible owner mode permissions         -> -rwx------

    Other read                              -> -r--r--r--
    Other write                             -> --w--w--w-
    Other read and filetype UnixExec        -> ---x--x--x
These are then masked by othmask, eg 077    -> ----rwxrwx
    Possible other mode permissions         -> ----rwxrwx

因此,使用預設掩碼,如果檔案是所有者讀/寫,而不是 UnixExec 檔案型別,則許可權將為

-rw-------

但是,如果掩碼是 ownmask=0770,othmask=0007,則將修改為

-rw-rw----

對這些掩碼的使用沒有任何限制。 你可能希望任何讀取位都允許所有人讀取該檔案,但保持預設的防寫 (ownmask=0755,othmask=0577)

-rw-r--r--

因此,你可以根據需要在 Linux 下應該具有的許可權來定製許可權轉換。

RISC OS 檔案型別字尾

RISC OS 檔案型別儲存在檔案載入地址的位 19..8 中。

為了使非 RISC OS 系統能夠用於儲存檔案而不丟失檔案型別資訊,設計了一種檔案命名約定(最初用於 NFS),這樣 ,xyz 形式的十六進位制字尾表示檔案型別:例如,BasicFile,ffb 是一個 BASIC (0xffb) 檔案。 現在,RISC OS 模擬器(如 RPCEmu)也使用此命名約定。

使用選項 ftsuffix=1 掛載 ADFS 磁碟會導致將適當的檔案型別字尾附加到從目錄讀取的檔名。 如果 ftsuffix 選項為零或省略,則不會新增任何檔案型別字尾。