防止共用未安裝的驅動器

防止共用未安裝的驅動器

我設定了一個檔案伺服器來透過 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)。

相關內容