アクセス許可・所有者の変更方法

一、
 Windows 7などでは、あるファイルに対し変更や削除を行おうとすると、「この操作を実行するアクセス許可が必要です。」、「このファイルを変更するには、TrustedInstallerからアクセス許可を得る必要があります。」という警告が現れ、アクセス拒否されることが多々ある。この場合、右クリックの「プロパティ」から「セキュリティ」を選択し、「編集」をクリックしてもアクセス許可を変更することはできない。これを可能にするには、所有権をTrustedInstallerから現在のユーザに移す必要がある。その方法は二通りあるようである。

○ その一つは、コマンドプロンプトを使う方法である。
1.コマンドプロンプトを右クリックし、「管理者として実行」から起動する。
2.[takeown /F]でファイルやフォルダの所有者を現在のユーザに変更する。
  例えば、[takeown /F "C:\Program Files\Xxxxx\Xxxxxx.ini"]と入力し、Enterを押下する。この場合、もち
 ろん、パス内に空白がなければダブルクォテーションは不要である。また、フォルダ名のあとに半角の空白を置
 いて[/R]と入力すると、そのフォルダ以下のすべてのフォルダ及びファイルの所有者が現在のユーザに変更され
 る。
3.[exit]と入力、Enter押下で、コマンドプロンプトを終了する。

 ※ その他のパラメーターについては、[takeown /?]、Enterで表示されるヘルプまたはTechNetのCommand-line
  Reference
を御覧下さい。

○ もう一つ、コマンドプロンプトに不慣れな方は、右クリックから行う方法がある。
1.フォルダやファイルを右クリックし、「プロパティ」⇒「セキュリティ」⇒「詳細設定」とクリックする。
2.「セキュリティの詳細設定」のウィンドウ内の「所有者」タブをクリックし、「編集」をクリック。
3.「所有者の変更」欄内の現在のユーザ名を選択し(図-1)、「OK」をクリックすると、図-2のような「このオ
 ブジェクトの所有権を取得した場合、このオブジェクトのプロパティを閉じてから再度開くと、アクセス許可の
 表示または変更を実行できます。」というメッセージが現れるので、「OK」をクリック。
4.さらに、「OK」でプロパティを閉じる。

図-1
Access-Owner-1

図-2
Access-Owner-2

 上のいずれかの方法で所有者をTrustedInstallerから自己に変更すれば、アクセス許可を変更することができる。アクセス許可の変更についても、プロパティの編集とコマンドプロンプトの二通りの方法がある。

○ プロパティから行う方法
1.「プロパティ」⇒「セキュリティ」⇒「編集」とクリック。
2.「グループ名またはユーザー名」欄内の「Users」を選択し(図-3-①)、下部の「Usersのアクセス許可」欄内
 の「変更」にチェックを入れる(図-3-②)。
3.「OK」をクリックしていき、プロパティを閉じる。

○ 通常は上の方法で問題ないが、複数のファイルのアクセス許可を変更する場合には、icaclsコマンドが便利で
 ある。
1.コマンドプロンプトを起動する。
2.例えば、あるフォルダ内のすべてのファイルについて、現在のユーザーのアクセス許可に「変更」を追加した
 いときは、[icacls C:\Xxxxx\Xxxxxx\* /grant users:M]と、
 アクセス許可をフルアクセスにしたいときは、[icacls C:\Xxxxx\Xxxxxx\* /grant users:F]と、
 また、あるフォルダ内のファイルだけでなく、そのサブフォルダ内のファイルすべてに対しても、アクセス許可
 に「変更」を追加したいときは、[icacls C:\Xxxxx\Xxxxxx /grant users:M /T]と、入力して、Enterを押下。

 ※ なお、[users]と入力した位置には、SID(Security Identifier、セキュリティ識別子)又はfriendly nameを
  入力することになっているので、[users]と打ってみたが、何と入力するのが最善なのか、私には分からな
  かった。個人で使用しているPCでは問題ないとは思うが。

3.「○○個のファイルが正常に処理されました。0個のファイルを処理できませんでした」として、「処理ファ
 イル」が列挙されるので、確認し、[exit]でコマンドプロンプトを終了。

 ※ パラメーターの詳細については、[icacls /?]で表示されるヘルプないしTechNetのCommand-line Reference
  を御覧下さい。
 ※ これらコマンドによる操作は、一瞬で多数のファイルを処理することができるので、便利である反面、危険
  でもある。細心の注意を払って行って下さい。コマンドプロンプトにあまり触れたことない方は、プロパティ
  操作の方が、安全かもしれません。

図-3
Access-Owner-3

 以上で、ファイルの上書きや削除が可能になる。

 因みに、わたくしの場合、UEFIに関する知識の全くないまま、UEFIに準拠したIntel X79のマザーボードにWindows 7 64bitをインストールしようとして不具合が生じ、なぜかOSを入れたSSDとは別のHDDにBoot Manager(Bootmgr)関連のファイルがインストールされてしまい、これらのファイルを削除するためにこの方法を利用した。このHDDには1TB近いデータが入っており、これを一旦他に移して、パーティションを作成し直して、それを書き戻すことも考えたが、それには数時間かかってしまうので、面倒ではあったが、この方法で削除するしかなかった。

二、
 なお、削除の場合は問題ないが、ファイルに変更を加えた場合、ファイルの種類によってはセキュリティ上、元の状態に戻しておいた方が望ましいことも多い。その方法は以下の通りである(参照:msdn 'SYSK 277: How-To Bring Back the TrustedInstaller')。

1.まず、上のプロパティの操作で「Usersのアクセス許可」欄のチェックを入れた項目のチェックを外し、元に
 戻す。
  また、icaclsコマンドで元に戻すには、元の許可が例えば「読み取りと実行」と「読み取り」にだけ与えられ
 ていた場合、コマンドプロンプトを起動し、[icacls C:\Xxxxx\Xxxxxx /grant:r users:(RX,R) /T]と入力、
 Enter([:r]は以前与えていた許可と入れ替えることを意味し、[RX]が「読み取りと実行」、[R]が「読み取り」
 を表す)。これで、前述の変更を行ったフォルダ以下のすべてのファイルのアクセス許可を元に戻せる。
2.再び、「プロパティ」⇒「セキュリティ」⇒「詳細設定」⇒「所有者」タブ⇒「編集」とクリックする。
3.「他のユーザーまたはグループ」をクリックし(図-4-①)、「選択するオブジェクト名を入力してください」
 という欄の中に[NT SERVICE\TrustedInstaller]と入力し(図-4-②)、「OK」をクリック。
4.続けて「OK」をクリックすると、図-2と同様の「このオブジェクトの所有権を取得した場合、云々」という
 メッセージが現れるので、「OK」を。
5.さらに「OK」でプロパティを閉じる。

図-4
Access-Owner-4

 PCに関してセキュリティを高めるに越したことはないが、そうすればするほど、ますますユーザーの自由度は狭められることになる。如何ともしがたいところであろう。

tag : アクセス許可 所有者 TrustedInstaller takeown icacls

プロフィール

そんぷうし ふうえん

Author:そんぷうし ふうえん

忙中閑は、こっそりと見出す。
カミさんと子どもたちが寝静まるのを待って、夜な夜なPCの前に端座し、その不可思議なる箱の内奥にそっと手を入れては、悦に入る日々なのであります。
時としてその手はPC以外の内奥にも。


※ リンク貼付及び引用は自由ですが、引用する場合は該当ページのURL及びタイトルを明記して下さい。

Automatic Translation
If you click a language below on any page, the translator is supposed to display the latest page at first. So you need to jump back to the previous page you were about to read.
Please note that there are some translations that are non-grammatical and do not accurately reflect the meaning of the originals because of machine translation.
 【Translated by Google Translate】
全記事一覧表示

   全ての記事のタイトルを表示する

最新記事
カテゴリ別アーカイブ
最新コメント
月別アーカイブ
検索フォーム
リンク
最新トラックバック
RSSリンクの表示
累計閲覧回数
  
QRコード
QR