ページ

2013年6月1日土曜日

Windows 7 フォルダのセキュリティ設定

   ある日、突然にUSB接続している外付けハード・ディスクの1つで、 「ディスクかディレクトリが破損している。 このディスクを使うならフォーマットが必要だ」という内容のダイアログが出るようになった。
   WindowsのExplorerでは「ローカルディスク J:」と、項目は表示されているものの、総容量と使用量を示すバーグラフが表示されない状態。 PCを再起動するも、外付けハード・ディスク・ケースの電源をOFF/ONするも状況が変わらず。

   まずはネット検索 - 出てきた答えは「chkdsk」だった。他に思い当たる方策もなくCHKDSKを実行した。

chkdsk :J /f

   何時間かかかって完了し、その後「Disk J:」は無事に開けるようになった。

   ちなみにmicrosoftのヘルプ・ページにはこう書かれていた:
   「ディレクトリ内でファイルの作成と削除を繰り返し行うと、ディレクトリが最終的に破損します。 その後、そのディレクトリ内のファイルにアクセスしたり、ディレクトリ内でファイルを作成または削除したりすると、ディレクトリが破損しているため CHKDSK を実行する必要があることを通知するポップアップ ウィンドウが表示されます」

   なんだか心細いファイル・システムな感...。 これを中立な、というのはmicrosoftが好きとか嫌いとかの論は完全無視して「OS」という「製品」として見た場合に、という立場で感じるところは - 「言ってる事がおかしい」の一言。

   ちなみにCheck Diskを走らせた結果、バッド・セクターは「0 KB」とあり、特に読み書き不良を起こしている箇所は無さそう。 これが「0」ではないと、ハード・ディスクの寿命・故障といった原因で「ファイル・システム」の「インデックス」 - NTFSでは「MFT」と言う処かな、が壊れたなどの他の要因も考えなければならないので、今回はとりあえずひと安心。


   CHKDSKは無事に終えたが、今度はゴミ箱が何か言ってきた。 「ゴミ箱が破損」しているそうだ。
   たぶんディレクトリの読み書きがうまく行かずに出ているエラーだろうと、「プロパティ」の「セキュリティー」タブを覗いてみたが、なんだかわからない。 「rw- rw- rwx」とか書いてくれないかなぁ.. と軽くぼやいてみながら、再度ネット検索。

   「$RECYCLE.BINを削除する」という、いささか荒業に見える手法が一般的らしい。 Windowsとしては「なければないで作るか」というスタンスらしい。 それがWindowsのBEHAVIORならばそうするのが近道だろう。 素直に削除。 その後にデスクトップとかで右クリックして「最新の情報に更新」とかを実行したかどうか忘れてしまったが、気になるので一応記述。
  結果は(一応)「解決」である。


   もうひとつ、3つ目の問題が発生。
   ディレクトリを開こうとしたらセキュリティー関連のダイアログが出、「このディレクトリに永続的なアクセス許可を与えますか?」という。言われている事が意味不明 - だが選択肢は「Yes」に相当するボタンしか考えられないので「Yes」を。
   結果アクセスは普通に出来、ディレクトリの中身も表示されるのだが、はじめにダイアログが表示されたディレクトリには、アイコンに鍵マークが付いている。 これまで無かったので気持ちが悪い。 これもネット検索した。

   まずは「共有」設定の問題の解決というところに辿りつき、実行してみる - ディレクトリのアイコンを右クリックして、表示される「共有」-> 「ホームグループ 読み/書き」などを選択する。 確かに鍵マークは消えたのだが、別に「共有」したいわけでもなく元に戻してしまった。 ちなみに「プロパティ」を開いて「共有」タブを表示させても同様の操作が出来そう。

   次に辿りついたのが「セキュリティー」設定。 要はアクセス権の設定だと思うのだが、これが本命だろうと向き合ってみた。 「セキュティー」設定の「ユーザーとグループ」に「Authenticated Users」を追加する事で鍵マークが消えるそうだ。
   ちなみに、「共有する」->「共有しない」と操作した場合にも「ユーザーとグループ」の一覧から「Authenticated Users」という項目が消え、アイコンに鍵マークが付くらしい。

   さて2TBの広大なスペースを相手にどしようかと思ったが、面倒くさがりなので「Disk J:」に対してざっくり実行してみた。
   「マイ・コンピュータ」を開いて「ローカルディスク J:」を右クリックして「プロパティ」->「セキュリティー」である。 当然いくつかのシステム・ファイルも含まれるがとりあえず考慮せずまとめて実行した。

Administrator -> フルコントロール
Authenticated Users -> 変更
Users -> 読み取りと実行 (?)
System -> 変更 (?)
Creator Owner -> 特に触らず(チェックナシ)
Everyone -> 特に触らず(チェックナシ)

   (?)マークの付いているところはうろ覚えの箇所。 また、「詳細設定」にて「子オブジェクトのアクセス許可すべてを、このオブジェクトからの継承可能なアクセス権で置き換える」というチェック・ボックスにチェックを入れる。 実行は数十分かかり、とりあえず鍵マークは消えた。 アクセスしてみると特に違和感もない。
   再度「セキュリティー」タブを開いて見ると、なんとなく、先に設定したチェック・ボックスとは違ったアクセス権になっている気もする...。


   ちなみに - ネット検索で見つかった類似情報
   Windowsの「Power Shell」にて実行との事。 Power Shellという存在を知らなかったのだが、「コマンドプロンプト」で"powershell"と打ったら「Power Shell」が実行されたっぽかった。


- - - 以下引用 (引用元)

takeown /f c:\xyz /r /d Y

/r は、サブディレクトリーまで変更
/d Y は、「変更しますか? (Y/N)」プロンプトに自動的に Y と答える


ユーザーに権限(full access)を与えるには

icalcs c:\xyz /grant user1:F /t /c /l /q

/grant ユーザー名:アクセス権 で与える
/t は、サブディレクトリーまで変更
/c は、エラーが出ても無視して、次のファイルの変更を行う
/l は、リンクファイル自体のアクセス権を変える。リンク元の方じゃなくて
/q は、成功時にはメッセージを出さない

- - - -



参考資料:
http://technet.microsoft.com/en-us/library/cc753024%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/cc753525%28WS.10%29.aspx
http://builder.japan.zdnet.com/os-admin/sp_windows-7/20394364/


* メモ: 各ユーザー共通のスタートメニューを置く場所

C:UsersPublicDesktop