[Windows] フォルダのアクセス制限

フォルダのパーミッション云々を、
いろいろいじってみる。

○準備

●テスト用ユーザーの作成

・admin (管理者)
・user1 (標準ユーザー)
・user2 (標準ユーザー)

[コントロールパネル]→[ユーザー アカウント]
 →[別のアカウントの管理]→[新しいアカウントの作成]

●テスト用のフォルダを作成

C:ドライブ直下にフォルダ”permission_test”を作成。
(エクスプローラ上で「新しいフォルダー」をクリック)

さらにその下に、個別フォルダを作成。
・admin (管理者のみがアクセス可能なフォルダにする)
・user1 (adminとuser1がアクセス可能)
・user2 (adminとuser2がアクセス可能)

この時点では、どのアカウントからもアクセスできる。
(シャットダウンメニューの「ユーザーの切り替え」で、
 ユーザーを切り替えてフォルダを開けるか確認。)

パーミッションは以下の通り
([プロパティ]-[セキュリティ]タブ-[詳細設定])

コマンドプロンプトで以下のように打っても、
結果は同じ。

(ユーザーの作成:管理者権限で実施)
>net user admin /add
>net localgroup Administrators admin /add
>net localgroup HomeUsers admin /add
>net user user1 /add
>net localgroup HomeUsers user1 /add
>net user user2 /add
>net localgroup HomeUsers user2 /add

(ユーザーステータスの確認・例)
>net user admin
ユーザー名                           admin
フル ネーム
~~~ (中略) ~~~
所属しているローカル グループ        *Administrators
                                     *HomeUsers
                                     *Users
所属しているグローバル グループ      *None

>net user user1
ユーザー名                           user1
フル ネーム                          user1
~~~ (中略) ~~~
所属しているローカル グループ        *HomeUsers
                                     *Users
所属しているグローバル グループ      *None


(フォルダの作成:ユーザー権限でもOK)
C:\permission_test>mkdir admin
C:\permission_test>mkdir user1
C:\permission_test>mkdir user2

(パーミッションの確認・例)
C:\permission_test>cacls admin
C:\permission_test\admin 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

参考サイト:
・net user/localgroup
 http://www.atmarkit.co.jp/ait/articles/0609/02/news014.html
・mkdir
 https://www.k-tanaka.net/cmd/md.php
・cacls
 http://www.atmarkit.co.jp/ait/articles/0601/28/news016.html

○パーミッションの操作

●GUIからの操作

設定したいフォルダを選択し、
[プロパティ]-[セキュリティ]タブ-[詳細設定]の画面で、
「アクセス許可の変更」をクリック。

「このオブジェクトの親からの継承可能なアクセス許可を含める」
のチェックを外す。
→削除を選択。
※このチェックが入っていると、
 継承しているパーミッション設定を削除・変更できない。

「追加」をクリックして、

「選択するオブジェクト名」に”admin”と入力。
「名前の確認」をクリック。
→「OK」

「許可」の「フルコントロール」にチェックを入れて「OK」

・adminフォルダ→”admin”のみ追加
・user1、user2フォルダ→”admin”と”user1″ or “user2″を追加

各ユーザーでログオンして確認
・admin:全てのフォルダにアクセス可
・user1:user1フォルダのみアクセス可
・user2:user2フォルダのみアクセス可
→OK

●コマンドプロンプトで操作

コマンドプロンプトでは、
以下のように打ちこむと同様。

参考サイト:http://www.atmarkit.co.jp/ait/articles/0601/28/news016.html

(パーミッションの変更)
C:\permission_test>cacls admin /g admin:F
C:\permission_test>cacls user1 /g admin:F
C:\permission_test>cacls user1 /e /g user1:F
C:\permission_test>cacls user2 /g admin:F
C:\permission_test>cacls user2 /e /g user2:F

(確認・例)
C:\permission_test>cacls admin
C:\permission_test\admin (PC名)\admin:(OI)(CI)F

C:\permission_test>cacls user1
C:\permission_test\user1 (PC名)\admin:(OI)(CI)F
                         (PC名)\user1:(OI)(CI)F

○おまけ1

アクセス許可を”Administrators”グループだけにすると、
“admin”からアクセスしようとした時に、
自動的に”admin”のアクセス許可が追加される。
(警告画面で「続行」を押す。)

○おまけ2

“admin”フォルダ以下に”test1″フォルダを作成し、
“test1″フォルダに”user1″のアクセス許可を与える。
→”user1″は”test1″フォルダにアクセスできるようになる
 (“admin”フォルダにはアクセスできないが、
  ”admin\test1″にはアクセスできる)

コメントを残す

メールアドレスが公開されることはありません。