Ubuntu, ファイルシステムがマウントされていない場合に書き込みを失敗させる

  • Ubuntu 22.04
  • ext4ファイルシステム

外部ストレージなどのファイルシステムのマウントに失敗したとき、 定期実行スクリプトやDockerコンテナなどが、実際にはマウントされていないマウントポイント以下に書き込みしてしまう場合があります。

/etc/fstabからnofailの指定を外せば、マウントに失敗した場合にOSが起動しなくなることで誤った操作を防げますが、 外部ストレージと関係のない他のサービスが共存している、遠隔操作を前提とした運用をしている、などの理由で、OSは起動してほしい場合があります。

マウントポイントがext4ファイルシステムにある場合、chattrコマンドを使って、変更を禁止することができます。

/mnt/mystorageのマウントを解除した状態で、以下のように指定します。

chattr +i /mnt/mystorage

これによりマウントしている間、immutable属性がなくなり、変更できるようになります。

mount /mnt/mystorage