Windows 7でファイル所有者と書き込み権限をコマンドプロンプトから操作する

多分Vistaも同じだと思うのだけど、HDDを別のマシンに移した際、アクセスできない・消せないファイルが大量にあったので、それらをまとめてコマンドプロンプトからコマンドで再帰的に処理すべくやったことと注意点のメモ。

Program Files以下のフォルダ・ファイルの所有権を自分のPCの管理者に変更する
takeown /F "Program Files" /R /A

Everyoneに対してフルコントロール権限を与えて、誰でも編集できるようにする
icacls "Program Files" /grant Everyone:(F) /T

注意しないといけないのは、フォルダを辿るときに、NTFSのJUNCTIONも辿ってしまうので、ジャンクションは先に消しておいた方がいいかも。
そうしないとうっかり現行のシステムファイルを消しかねない。
というか実際、現行システムのACL書き換えをやらかした。
まさに「FドライブのUsersフォルダの権限を書き換えていたら、いつのまにかCドライブの権限を書き換えていた…!」という状態。
怖い怖い。

ジャンクションかどうかの確認は、コマンドプロンプトからdir /aとかで。

シンボリックリンクも同じかな。どっちも使われているみたいなので注意。


新しく会社作りました!

コメントをどうぞ