私たちはUnixベースのサーバーをセットアップしようとしており、サーバーが特定のファイルを生成するのを防ぐ方法があるかどうかを調べています。
私の言葉は次のファイルを意味します:.DS_Store
、、、、、、、、、、、、、、、、、、.BridgeCache
などのフォルダ。.BridgeCachet
.BridgeCacheT
.BridgeSort
._.BridgeCache
._.BridgeCacheT
Thumbs.db
.Parent
._TemporaryItems
.AppleDouble
.AppleDB
.AppleDesktop
.TemporaryItems
私たちは毎晩cron
これらのファイルを削除する方法を検討していますが、より良い解決策は、これらのファイルがサーバーに存在しないように完全に無効にすることです。
解決策はありますか?
答え1
どのUNIX? 「間違った」名前が渡されると、ファイルの生成は失敗します。これは非常に難しいですが、これを行ういくつかのプラットフォーム固有の方法があります。
inotify
まず、少なくともファイルシステムを観察し、ファイルが作成されたらすぐに通知するそれとその親戚があります。実際に生成を停止し、システムコールがエラーを返すことができるかどうかはわかりませんが、すぐに削除できます。
別のアプローチはヒューズベースのファイルシステム(既存または新しく作成された)です。実際にはfuse
、ユーザー空間ですべてのファイルシステムプロシージャを実装し、ファイルが何であるか、どのように呼び出されるかについて独自のルールを作成できます。
もちろん、これらのすべては、ローカルファイルシステム、リモートマウントシステム、または一種のネットワーク転送プロトコルがあるかどうかによって異なります。
これは関連する可能性があります:
https://stackoverflow.com/questions/8588386/intercepting-file-system-system-calls