
我設定了一個檔案伺服器來透過 samba 和 netatalk (AFP) 共用外部磁碟機。我有一個 fstab 條目可以自動將磁碟機安裝在/mnt/external
,然後由各種守護程式自動共用。
問題是驅動器是否未正確安裝(例如,如果我忘記打開它,或者那天我帶著它去上班)。在這種情況下,掛載點在沒有連接相應驅動器的情況下被共享,導致各種元文件被寫入我的掛載點,而不是乾淨的故障。這會阻止驅動器在下次附加磁碟機(非空目錄)時正確安裝,並且如果有人同時使用該共用,則可能會導致資料遺失。
有沒有辦法在驅動器未掛載的情況下導致共享失敗?
答案1
您可以設定原始掛載資料夾屬性來使其immutable
:
chattr +i /mnt/external
該資料夾現已鎖定,禁止對其進行任何操作(您可以使用 解鎖-i
)。不過mount
還是fstab
可以正常工作。
運作前請確保驅動器未安裝chattr
。如果您收到錯誤"Inappropriate ioctl for device While reading flags"
,則可能您正在使用不支援資料夾屬性的檔案系統。事實上,一些 Linux 發行版使用overlayfs
檔案系統而不是ext
.因此,您必須在其他地方手動安裝它才能開始chattr
處理資料夾(即mount /dev/mmcblk0p3 /mnt/temp
然後chattr +i /mnt/temp/root/mnt/external
)。