2009年4月12日日曜日

Windows XP Home Editionで、ファイルに「アクセスが拒否されました。」 ~ そういえばCACLS.EXE

Windows XP Home Editionなパソコン上で、昔使っていたハードディスクをUSBで接続して、ファイルの整理をしてました。



すると、「アクセスが拒否されました。」と表示されて、表示できないファイルやフォルダがあることに気がつきました。



200904111



この現象、Windows 2000とかで使っていたハードディスクを、Windows XPでそのまま使ったりした場合、よく見ますよね???



Windows XPのProfessional Editionだと、えいや、とファイルの所有者とか、アクセス権限を変更して、解決できてしまうのですが、Home Editionだとできません。
 「けちんぼ!」 > マイクロソフト社



でも、「CACLS.EXE」というコマンドを使うと、ファイルのアクセス権限を変更できる、とかいう話を思い出しましたので、やってみました。



10分後。



うーん、よくわかりません。どうしても、うまくいかなくて、「ACCESS_DENIED」とか表示されてしまうファイルがあります。



200904112



あとで気がついたんですが、これ、ファイルの所有者が、不明なユーザーになってしまっていて、そのために、アクセス権限も変更できない、ということらしいです。



Home Editionの場合は、どうも、セーフモードで起動してAdministratorでログインすれば、なんとかなるみたいです。



でも、わざわざセーフモードで再起動するのもめんどくさかったので、別の、Media Center Edition(Professional Edition相当)なパソコンで、強制的に解決させてしまいました。



以下、Professional Editionの場合。



問題となっているファイルやフォルダにアクセスしようとしたとき、「現在のアクセス許可の設定を表示または編集するアクセス許可はありませんが、所有権を取得するか、または監査設定を変更することができます。」とか表示されました。



200904113



はい、はい、なんか言ってますが、全然意味わかんないです[E:coldsweats01]



とりあえず、あちこち、適当にいじってみます。



200904114



おっと、ここみたいです↓。「現在の所有者を表示できません。」と出てます。



200904115



所有者の変更をしてみたところ、「S-1-5-21-数字・・・」なユーザーが出現しました。こいつが、行方不明になってしまったユーザーってことらしいです(昔使ってたWindows 2000上でのユーザー、ってことなんだと思われ)。



200904116



あまりよくないですが、とりあえず、Everyoneでフルコントロールにしちゃいました。



200904117



とりあえず、これで、なんとかファイルやフォルダにアクセスできるようになりました。



やれやれ、これで問題解決した・・・と思ったら、とんでもないことになっていました!!!



最初に使っていたWindows XP Home Editionなパソコンで、「なんたらはできません」とか、変なエラーメッセージが出るようになってるじゃありませんか。



いったい何が起きたか?!



どういうわけか、「C:\WINDOWS」のアクセス権限が変化しちゃってました~



うひゃー[E:happy02]



CACLS.EXEコマンドを、よくわかんないまま使ったら、





200904118



上↑のように、「処理ディレクトリ: C:\WINDOWS」と表示されていて、このときに、アクセス権限が変更されてしまってました。



わーん、困った、困った[E:shock]



別のWindows XP Home Editionなパソコンで、本当のC:\WINDOWSはどうなっているのかを確認。こうなってました。



200904119



CACLS.EXEでいろいろやってみたんですが、どうやっても、GENERIC_READとかGENERIC_EXECUTEというのを、くっつけることができません。



XCACLS.EXEというコマンドもあることを知り、それをインストールして、いろいろ試したんですが・・・こんな感じで実行すると



C:\>xcacls c:\windows /G builtin\users:RXE builtin\administrators:F system:f "creator owner":f
Are you sure (Y/N)?y
processed dir: c:\WINDOWS



20090411a



これが、一番、元の状態に近いですかね・・・[E:despair]



20090411b



C:\>cacls c:\windows
c:\WINDOWS BUILTIN\Users:(OI)(IO)(特殊なアクセス:)
                                 READ_CONTROL
                                 SYNCHRONIZE
                                 GENERIC_EXECUTE
                                 FILE_GENERIC_READ
                                 FILE_GENERIC_EXECUTE
                                 FILE_READ_DATA
                                 FILE_READ_EA
                                 FILE_EXECUTE
                                 FILE_READ_ATTRIBUTES

           BUILTIN\Users:(CI)R
           BUILTIN\Administrators:(OI)(IO)F
           BUILTIN\Administrators:(CI)F
           NT AUTHORITY\SYSTEM:(OI)(IO)F
           NT AUTHORITY\SYSTEM:(CI)F
           CREATOR OWNER:(OI)(IO)F
           CREATOR OWNER:(CI)F





うーん、なんだかよくわかんないよ、NTFS・・・



 



0 件のコメント:

コメントを投稿