Windowsのアクセス権設定(その2) 実践編
前回の「(その1)caclsコマンド」に引き続き、実践編である。
前回書いたように、WindowsXP や Vista でフォルダやファイルのアクセス権を設定するには、以下の2通りがある。
1.フォルダやファイルのプロパティの「セキュリティ」タブで行う
2.cacls コマンド(Vista では icacls)を使う
今回は、フォルダにアクセス権を設定する方法について、実際の実行例を示す。(両方の方法を取り混ぜてやってみる。) 実際に使用したOSは Windows Vista Home Premium である。Vista では、cacls を更に拡張した icacls コマンドも使用可能であるが、XP との互換性も考えて cacls を使用している。
今回の操作例では、
・操作するのは、admin権限を持った toshi というユーザ
・それ以外は、admin権限を持っていないユーザ(一般ユーザ)のみ
という環境で、以下の操作を行う。
1.Cドライブ直下に Secret という名前のフォルダを作成する。
2.そのフォルダに、一般ユーザは参照できないようにアクセス権を設定する。
早速、本題に入る。
なお、HP-dv5 というのは 操作したPCのコンピュータ名(昨年夏に買った HPのノートPC HP Pavilion dv5)、"C:\>" はコマンドプロンプトである。
1.Secret フォルダの作成
エクスプローラから[ファイル]→[新規作成]→[フォルダ]で C:\Secret フォルダを作成した。
このフォルダのアクセス権限は以下のようになっている。
フォルダのプロパティの「セキュリティ」タブの詳細設定で確認
cacls コマンドでの表示は以下の通り。
C:\>cacls c:\Secret
c:\Secret BUILTIN\Administrators:(ID)F
BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
NT AUTHORITY\SYSTEM:(ID)F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
BUILTIN\Users:(OI)(CI)(ID)R
NT AUTHORITY\Authenticated Users:(ID)C
NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(ID)C
admin や systemユーザは別として、一般ユーザ(Users とつく ACE)も 参照(R)と変更(C)の権限をもつので、ぶっちゃけ、何でもできてしまう。
なお、前回の記事で、「括弧内のアルファベット2文字の組合せは、アクセス権のサブフォルダへの継承設定を表す」として具体的な組合せと意味を説明したが、あれは XP の例で、Vista では新たに 「(ID)」が追加されている。これは、「親フォルダから継承されてできた ACE」 ということを意味しているが、とりあえず無視しても構わない。
2.アクセス権の追加設定
一般ユーザの権限を制限する前に、自分(toshi) 専用の アクセス権(ACE)を追加する。toshi はadmin権限も持っているので、administrator にフルアクアセスの権限があれば本来は不要であるが、念のためだ。
「セキュリティ」タブの詳細設定で[追加]を押下
ユーザ名を入力して[名前の確認]を押下して、OSに認識させる
==> 表示が下線付きに変更
toshi にフルアクアセス権限を設定(「フルコントロール」を選択)
その結果、toshi の ACE が作成された。
cacls コマンドで見ると以下の通り。
C:\>cacls c:\Secret
c:\Secret HP-dv5\Toshi:(OI)(CI)F <== 新規追加された
BUILTIN\Administrators:(ID)F
BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
NT AUTHORITY\SYSTEM:(ID)F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
BUILTIN\Users:(OI)(CI)(ID)R
NT AUTHORITY\Authenticated Users:(ID)C
NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(ID)C
3.アクセス権の削除(cacls コマンド使用)
Authenticated Users の変更(C)権限を削除する。
これも、「セキュリティ」タブと cacls コマンドのどちらでも実行可能だが、ここでは cacls コマンドでやってみる。(「セキュリティ」タブでの操作方法は次の No4を参照。)
C:\>cacls c:\Secret /t /e /r "NT AUTHORITY\Authenticated Users"
処理ディレクトリ: c:\Secret
処理ファイル:・・・・・ 以下、Secretフォルダ以下の処理したフォルダやファイルのリストが表示されるが省略
結果を確認してみる。
cacls コマンドで見ると以下の通り。
C:\>cacls c:\Secret
c:\Secret HP-dv5\Toshi:(OI)(CI)F
BUILTIN\Administrators:(ID)F
BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
NT AUTHORITY\SYSTEM:(ID)F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
BUILTIN\Users:(OI)(CI)(ID)R
確かに、Authenticated Users の ACE は削除されている。この時点で、一般ユーザは Secretフォルダに対しては参照しかできなくなる。
4.アクセス権の削除(「セキュリティ」タブを使用)
最後に、BUILTIN\Users の参照(R)権限を削除する。
今回は、「セキュリティ」タブで実施してみる。
まずは、単純に Users を選択して[編集]を押下し、
[削除]を押下すると・・・・
以下のエラーとなる。親フォルダから継承されている権限は削除できないらしい。
そこで、「詳細設定」ウィンドウの「アクセス許可」タブで[編集]を押下し、
次に現れるウィンドウで「このオブジェクトの親からの継承可能なアクセス許可を含める」のチェックをはずすと、
継承を止める代わりに、同様のものをこのフォルダ用にコピーするのか、それとも不要なのか(削除するのか)を選択する画面が現れる。これは、cacls コマンドでの /e オプションに似た概念で、通常は「コピー」でよいと思う。
その結果、全ての ACE が「継承なし」となった。
Users を選んで [削除]を押下すると
Users のアクセス権は削除される。
cacls コマンドで見ると以下の通り。
C:\>cacls c:\Secret
c:\Secret HP-dv5\Toshi:(OI)(CI)F
BUILTIN\Administrators:(OI)(CI)F
NT AUTHORITY\SYSTEM:(OI)(CI)F
これで、一般ユーザは Secretフォルダを参照することすらできなくなった。
めでたし、めでたし。
では。
| 固定リンク
コメント
はじめまして☆記事参考になります。
知らないうちに外部からリモートコントロールで自分のパソコンが複数のパソコンに閲覧&制御されて困ってました。C直下にアクセス権を設定してみたいのですが、ブログでtoshiとされてたのは、OSの初期設定時に自分のパソコンに設定したパソコン名ですか?
投稿: まゆ | 2013年6月17日 (月) 16時23分
まゆ さん
Toshiです。
> 知らないうちに外部からリモートコントロールで自分のパソコンが複数のパソコンに閲覧&制御されて困ってました。
それは大変ですね。
アクセス制限以前にセキュリティソフトを入れてフルスキャンした方がよいような気がします。
個人利用であればフリーのものもありますよ。
ご質問の
> ブログでtoshiとされてたのは、OSの初期設定時に自分のパソコンに設定したパソコン名ですか?
ですが、Toshi はユーザ名で、パソコン名は HP-dv5 です。
では。
投稿: Toshi | 2013年6月22日 (土) 09時37分