カラクリスタ

Windowsでアクセス権限がおかしくなったファイルを削除する方法

概要: Windows でアクセス権限がおかしくなって削除できなくなったファイルやディレクトリを削除する方法


rsync で一時間毎にバックアップ!しててログ見たらPermission deniedというエラーが出てたので、 原因を調べてたら、削除や修正を一切受け付けなくなった状態のファイルやらディレクトリがあったので、 それを元に戻した方法をメモる。

ますなった状態はというとこんな感じ。

  1. ファイルを削除できない
  2. ディレクトリも削除できない
  3. Administrator でも削除したりできない

要するにファイルやディレクトリの操作が一切できない状態。

で、原因は何かというと、どうもファイルやディレクトリの所有者が、 作成ユーザーから SYSTEM になってたことが原因みたい。

でこれを直す方法。

ます準備として、エクスプローラーのツール->フォルダオプションの表示タブの簡易ファイルの共有を使用する(推奨)のチェックをはずす。 これで、ファイルやディレクトリの所有者をみたり変更したりできる。

で、所有者がおかしくなって削除できなくなったファイルを右クリック->プロパティを開いて、セキュリティタブを開く。 そして詳細設定というボタンがあるので、それをクリック。 そうすると色々書かれた Window が出てくるので、そこの所有者タブを開く。

んで所有者タブを開くと、現在の所有者と所有者を変更する選択肢が出てくるので、 そこで新しい所有者を選択して OK をクリックする。 で、所有者を変更できたら、新しい所有者にアクセス権限を与える。

アクセス権限を与えるユーザー一覧に新しい所有者の名前がない場合は、 追加 (D)というボタンをクリックして、新しい所有者の名前を追加する。 んでその後新しい所有者にアクセス権限を与える。

でまあこれで新しい所有者にアクセス権限が与えられたので、 ファイルを削除したりできるようになる。

ぶっちゃけると最初 2ch の質問系のスレで聞こうかなと思って、 Windows 板の WindowsXP 質問スレ にたどり着いたんだけど、 そのスレのテンプレで、 Windows を再インストール後、元からあるファイルにアクセスできません というのが紹介されていて、そこを見たら所有者云々と書かれていて、 そこでようやく解決方法が見つかったという。

なんというか Windows のアクセスコントロールはややこしいよ! UNIX 系 OS だと root でchmod -R {permission} {file or dir}で一発なのに!とか思わなくもない。

まあなんとか解決できたのでよかったよかったという感じです。 色々やってダメだったらもう再フォーマットしかとか思ってたもん。

つーか rsync on Windows で Permission 関係のエラーが良く出てるんだけど、何でだろうね。 UNIX 系 OS だと簡単なのに!

なんというか疲れた。今度こそスムーズにバックアップが取れると良いなぁ。

#FIXME