「.DS_Store」ファイルとは、macOSでフォルダ内に自動生成される「隠しファイル」です。
フォルダの表示設定を保存するためのファイルですが、これをWEBサーバー上に公開すると、ディレクトリ構造やファイル情報が漏洩する可能性があり、セキュリティリスクとなります。
「.DS_Store」ファイルを削除したり、アップロードしないように管理・対策しましょう。
目次
対策 1. 削除または生成停止
手段 1. 【手動】ファイルを表示・削除する
- ① フォルダ内で「Command +Shift +.」をすると「.DS_Store」が表示される
- ② 表示された「.DS_Store」を削除する
手段 2. 【一括】コマンドで削除する
ターミナルを開いて下記を実行すると、システム上のすべての「.DS_Store」を一括削除できます。
find . -name '.DS_Store' -type f -ls -delete
手段 3. 【自動】「.DS_Store」を作らないようにする
ターミナルを開いて下記を実行、Finderを再起動すると、「.DS_Store」が作られないようになります。
defaults write com.apple.desktopservices DSDontWriteNetworkStores True
killall Finder
※記事冒頭の通り、フォルダの表示設定を保存しているファイルなので、削除するとフォルダの設定等がリセットされます。
並び替えや、アイコンの大きさなどを設定していた場合は戻ってしまうので、消えてしまうと困る場合はやめておきましょう。
対策 2. FileZillaで「.DS_Store」が転送されないように設定
WEBサーバー上にアップされなければセキュリティリスクは発生しないので、FTPソフトで対策をしましょう。
- ① FileZillaを起動>メニューの「表示」>「ディレクトリ リストのフィルタリング」>「フィルタールールの編集」を選択
- ② フィルター編集画面の「新規」>フィルター名を入力(「.DS_Store」等適宜)して「OK」
- ③ フィルター編集画面のフィルター欄から②で追加したフィルターを選択>条件を「名前」「完全一致」「.DS_Store」で設定>「OK」を選択して編集を完了
- ④ 「ローカル フィルター」の「.DS_Store」にチェックを入れて「適用」「OK」を選択
以上でローカルディレクトリ側に「.DS_Store」が表示されなくなり、ファイルが転送されなくなります。
参考
- 【Mac】.DS_Storeを一括削除&作らないようにするコマンド
https://kizineko.com/delete-dsstore/ - FileZillaで「.DS_Store」が表示・転送されないようにする
https://webree.jp/article/filezilla-dsstore/