あまちゃんブログ

やあ!僕だよ!

カテゴリ:SI構築技術 > ActiveDirectory

やあ、初心者の見方の僕だよ!(`・д・´)

まあ共有フォルダを作ってアクセス権を。。なんていうとGUIでささっとやるんですが、コマンドでの設定方法について紹介しています。
初期構築時やたくさんトップフォルダがあったり、リクエストが多い企業さんの運用管理人向けですね。

前提としては、
ドメイングループでコントロールすることを想定しています。

流れとしては、
フォルダを作成する→共有アセクセス権付与→NTFSアクセス権付与。

あ、そうだ。

事前に知っておいたほうがいWindowsにおけるアクセス権なんですが、「共有アクセス権」と「NTFSアクセス権」で引き算するんですよ。
前者で”読取”、後者で”フル” 。すると結果は”読取”権限が付与されるんですね。
ですから、一般的にはフォルダのプロパティを開き、共有タブには”everyone”ユーザーを"フル"で設定して、セキュリティタブにて、制御したいグループを追加して適切な権限を与える。これが管理しやすいです。
ただし、セキュリティの厳しい環境では共有設定にeveryoneを設定してしまうと、セキュリティホールと考えるところもあるんで、そうなると対象から外れているユーザーは、公開されているかの存在すらわからないことになってしまいます。(_´Д`) アイーン

[コマンド実行手順]

1、フォルダ作成

>mkdir c:\public

2、共有アクセス権の設定、ユーザーグループに変更権限を付与。
>net share public=c:\public /grant:"DomainName\Domain Users",CHANGE

-----------------------------

アクセス権の種類:

READ | CHANGE | FULL

-----------------------------

本来はeveryoneに与える権限だが「Domain Users」限定共有としたのでリモートからはAdministratorでも利用できません。

2、共有アクセス権の設定、ユーザーグループに変更権限を付与。.png

ポイント!
・”値を囲うのは 空白があるからです。”
・ドメイングループを登録する場合は「DomainName¥グループ名」です。 

3、NTFSアクセス権設定、ユーザーグループに変更権限を付与。
>cacls c:\public /E /G DomainName\test1:C

アクセス権の種類:
R 読み取り、W 書き込み、C 変更 (書き込み)、F フル コントロール

3、NTFSアクセス権設定、ユーザーグループに変更権限を付与。.png

2、共有アクセス権の設定、ユーザーグループに変更権限を付与。

さあ、これで設定は終わりです。ちゃんと設定されているか確認しましょう。
サービスマネージャーの共有に「Public」が共有されていますね。

サービスマネージャーの共有に「Public」が共有されていますね。.png

フォルダのプロパティでアクセス権を確認してみましょう。
意図したグループが登録されていますね。他はシステム上必要なアカウントやドライブに設定されているアカウントが継承され登録されていますが、これらはきっちり設計して除外するか判断しましょうね。
スクリーンショット 2016-10-21 13.10.21.png

ここに登録されているグループに所属するユーザーしか、ネットワーク経由でフォルダにアクセスすることができないということを認識しておいてください。
スクリーンショット 2016-10-21 13.10.51.png

共有フォルダ始めました。
スクリーンショット 2016-10-21 13.12.10.png

まあ、全員の意見なんて聞いてたら、ここは評価情報があるから見せないで欲しいだの、ここは私のエロ画像置き場だからだの。。それはないかw
ABEで隠匿など見せる見せないの設定をしていない場合、なるべくトップフォルダからアクセス権を継承させるように工夫するなど、階層ごとに複雑にならないようにしたいですね。

◆補足ですがfor文でカラム参照する手順が必要な場合は以下参照してください。
2、共有アクセス権の設定、ユーザーグループに変更権限を付与。
>for /f "tokens=1-4" %A in (C:\NetShare.txt) do net share "%A=%B" /grant:"%C,%D"

3、NTFSアクセス権設定、ユーザーグループに変更権限を付与。
>for /f "tokens=1-4" %A in (C:\cacls.txt) do cacls "%A" /E /G "%B,%C"

⇨あまり需要なさそうなんで気が向いたらここは更新します。(_´Д`) アイーン



🌟ちょっとでもあなたの仕事に役立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。







 


Windows ブログランキングへ
このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote


あ、ところで、ここをご覧になっているみなさんはActiveDirectoryにおける「グループ」と「OU」について理解していますでしょうか。
ただ適当にアカウントを突っ込んでおく箱ではないんですよ。私もなんとなくしか知りませんで構築するようになって知りました。

簡単に補足すると、「OU」は、グループポリシーの適用先として使用されます。つまりグループポリシーを作ってユーザーに適用したい場合は、OUという箱にユーザーアカウントを格納し、そのOUに対して、適用したグループポリシーをリンク付けしてはじめて適用されます。

そして「グループ(セキュリティグループ)」は、アクセス権で使用されます。
OUのように箱に格納ではなく、ユーザーアカウントをそろぞれグループに参加させるのですね。そのグループをファイルサーバの共有フォルダのアクセス権設定で、そのグループをフルコントロールなり、読み取り権限なりを定義することで、そのグループに参加しているユーザーが、共有フォルダを利用できるようになります。
実際はユーザーアカウント単位でもアクセス権設定は可能ですが、ここに来る、コマンドで管理したいっていう管理者の皆様としては、おそらく100人以上超えるユーザーやたくさん組織を管理しているであろうから、グループ単位で管理するメリットはありますよね。

さあそれでは、ここを抑えてしまったならば、あとは下に記載しているコマンドリファレンスを見れば解説は不要ですね。

 

始める前にここでのルールと心の準備
・リモートデスクトップでサーバに、Administratorでログインしてください。以下で説明する作業は全てドメインサーバ上で実施します。
・ドメイン名は「amachan.local」として説明をしていますので、適宜みなさんのドメイン名に置き換えてくださいね。コマンドやテキストを編集する際は、「cn=amachan,dc=local」の箇所ですね。 
・なぜテキストなんだ?エクセルでねーの?えっとーエクセルで書いてコマンドで読ませるためにタブや空白区切りでcsvやテキストに吐くとダブルクォーテーションつくんですね。
ようは,カンマ区切り文字を1セル内に記載するとダブルクォーテーション""がもれなく付いてくる。
そんでもって、それを外す作業ってのをやるんだったら、最初っからテキストに書いても同じじゃね?ってことです。さーせん。
・コマンドを間違ったって、結果中途半端にアカウントは登録されず”失敗”と返されます。やり直しが可能なので、どこで間違ったのか、コマンド結果を見て、冷静になってリラックスして再チャレンジしてくださいね。(私の間違いでしたら優しく優しくフィードバックをいただければ幸いですw) 


(1)アカウント登録手順(コマンド操作)

1. サクラエディタとかで以下カラムをコピペして、適宜修正してください。 
▲はタブ区切りに置換してくださいね。
ou=OU名,cn=amachan,dc=local▲ユーザーアカウント▲パスワード▲氏名▲cn=グループ名,cn=Users,dc=amachan,dc=local


2.  上記のとおり、カラム間をタブで区切ったサンプルが記載されています。
このサンプルを登録するアカウント分だけ、コピーしてください。
下記の実行コマンドにより、テキストの中身を上から行単位で読み取るためのデータを作成します。
  
3. 次にコピーした行の各カラムの“太字箇所”にデータを入力します。
 上記のサンプルをみて、赤字の箇所についてユーザー情報を編集入力してください。
 
・1列はユーザーが所属するOU名を入力します。
・2列に「ユーザーアカウント」を入力します。(例:t-amachan)
・3列は初期パスワードであるため入力不要。
・4列にログインの際に画面に表示されるユーザーの「漢字氏名」を入力します。(例:あまちゃん花子
・5列は「グループ名」を入力します。※グループに参加しない場合、「cn=グループ名,」の箇所を削除してください。


4. 入力が完了したらテキストファイルを保存します。

C:\ dsadduser.txt



5. コマンドプロンプトより、以下のコマンドを実行する。
※以下の枠の中のコマンドをコピーして実行してください。
for /f "tokens=1-5" %A in (C:\dsadduser.txt) do dsadd user "cn=%B,%A" -display "%D" -pwd %C -memberof "%E" -mustchpwd yes



6. コマンドが終了したら、各実行結果を確認して成功していることを確認します。
 

※もし失敗した場合、コマンドの実行結果にて失敗理由も表示されるので、対象ユーザーの設定情報を見直して、1~5の手順を再度実施してください。(成功したユーザーの情報は2重登録で失敗となるためはずしてください。)

以上


(2)グループへのユーザーアカウント追加手順(コマンド操作)

1. サクラエディタとかで以下カラムをコピペして、適宜修正してください。
▲はタブ区切りに置換してくださいね。
CN=Users,DC=amachan,DC=local ▲グループ名ユーザーアカウント▲CN=OU名,DC=amachan,DC=local



2. 上記カラム間をタブで区切ったサンプルが記載されていますので、このサンプルを登録するアカウント分だけ、コピーしてください。
後述のコマンドにより、上から行単位で読み取られるデータを作成します。



3. ユーザー分の行コピーが完了したら、“太字箇所”にデータを入力します。
 上記のサンプルをみて、赤字の箇所についてユーザー情報を編集入力してください。

・1列はオブジェクトの規定の格納場所で入力不要。
・2列に「グループ名」を入力します。(例:営業部)
・3列に「ユーザーアカウント」を入力します。
・4列にユーザーアカウントが所属する「OU名」を入力します。



4. 入力が完了したらテキストファイルを保存します
  C:\ dsaddgroup.txt



5. コマンドプロンプトより、以下のコマンドを実行します。
 ※以下の枠の中のコマンドをコピーして実行してください。
for /f "tokens=1-4" %A in (C:\ dsaddgroup.txt) do dsmod group "CN=%B,%A" -addmbr "CN=%C,%D"



6. コマンドが終了したら、各実行結果を確認して成功していることを確認します。
※もし失敗した場合、コマンドの実行結果にて失敗理由も表示されるので、
対象ユーザーの設定情報を見直して、1~4の手順を再度実施してください。
(成功したユーザーの情報は2重登録で失敗となるためはずしてください。)



7. 他のグループに対してもユーザーを追加したい場合は、上記1~5の手順を繰り返してください。



(3)グループへのユーザーアカウント削除手順(コマンド操作)

(2)の削除のコマンドを置換するだけです。太字箇所が違うだけですね。
 ・ファイル名については適宜変更してください。(2)章と同じカラムの並びとなります。
 ・削除の引数は"-rmmbr "です。ただそれだけの違いですね。
for /f "tokens=1-4" %A in (C:\ dsrmgroup.txt) do dsmod group "CN=%B,%A" -rmmbr "CN=%C,%D"





🌟ちょっとでもあなたの仕事に役立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。


それでは、さよなら。さよなら。



このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

↑このページのトップヘ