- - PR -
アクセス権の設定について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-14 19:21
初めて書き込みします。わかりづらい所がありましたら指摘願います。
windows2000のドメインに参加しているwindows server2003(SPなし)での操作です 目的: ユーザAだけが使用できるフォルダ及びファイルをユーザBだけが使用できるフォルダ及びファイルにする 所有者はユーザBにする 条件: 操作はサーバのadministratorsに所属しているユーザでコマンドで実施すること 次の操作を行いました。 (1)サーバのadministratorsに所属しているユーザで対象のデータの所有権を取得 takeown 対象データ /A /R /D Y (2)アクセス権を設定 ユーザB:フルコントロール、BUILTIN\\Administrators:フルコントロール cacls 対象データ /T /C /G ユーザB:F administrators:F (3)所有者をユーザBとする subinacl /file 対象データ /setowner=ユーザB subinacl /subdirectories 対象データ\\* /setowner=ユーザB (4)BUILTIN\\Administratorsのアクセス権を取る @cacls 対象データ /C /G ユーザB:F 又は Asubinacl /file 対象データ /revoke=ユーザB 又は BGUIにて対象データのプロパティからセキュリティタブを開き、表示されているAdministratorsを削除 @とAの場合は、対象データのみアクセス権がユーザBのみとなり、対象データ以下のデータについては ユーザBとadministratorsが設定されました。 Bの場合は、対象データ全てのアクセス権がユーザBのみとなりました。 @もAもBも同じ動きになるのかと思っていたのですが、 うまくいきませんでした。なぜこのような動きになるのでしょうか? また、コマンドで実行するにはどのようにしたらよいのでしょうか? 所有権の取得とアクセス権の削除の順番がおかしいのでしょうか? | ||||||||||||
|
投稿日時: 2006-07-19 09:16
おはようございます。
遅レスですが、ちょっと書いてみます。
@は/tスイッチがないため、サブフォルダに適用されません。 Aは対象データとあるのですが、その後ろに*.*などは書いておられますか。 subinaclの動作確認するものがないので、何ともいえませんが。
Bは意図した動きになっているのでは? なっていないとすれば、どのようにしたいのでしょうか? 動作が今ひとつ不明瞭に記載されているため、どこがどう意図した 動作になっていないか判別しづらいです。 #特に対象データ以下のデータとは? 対象フォルダやそのサブフォルダ内などの言葉を使って表現してみては いかがでしょう。
順番はおかしくないです。 一部のコマンドが間違っているためだと思うのですが・・・。 | ||||||||||||
|
投稿日時: 2006-07-19 21:28
書き込みありがとうございます。
対象データについては以下のとおりです。 フォルダA +フォルダB +フォルダC フォルダAのサブフォルダとしてフォルダB フォルダBのサブフォルダとしてフォルダCがあります。 目的は、 ・対象データ(フォルダA,B,C)のアクセス権をユーザB:フルコントロールにする ・対象データ(フォルダA,B,C)の所有者をユーザBにする ・操作はサーバのadministratorsに所属しているユーザで全操作をコマンドにて実施する です。 (4)Bの操作ですと、アクセス権と所有者は設定できるのですが、 GUIでの操作のため、全操作をコマンドで実施を満たしません。 (4)の操作について ・@について (2)でアクセス権を設定したことにより、フォルダB,CはフォルダAからの継承となっているため、 フォルダAのアクセス権のみ変更すれば、フォルダB,Cのアクセス権も変更されるという認識です。 そのため、/Tはつけておりません。 ※/Tをつけて実施しても、フォルダAのアクセス権が変更された際にサブフォルダへのアクセスが できなくなり、アクセス拒否となります。 ・Aについて caclsで実施できなくても、リソースキットならできるかも知れないと思い、試してみました。 *をつけていないのは、@で記述しているように、アクセス権がフォルダAから継承されている為です。 subinaclでも/subdirectoriesと*を指定してみましたが、結果はかわりませんでした。 (フォルダAのみアクセス権が変更される。) caclsでは、 cacls 対象データ /E /C /R:administrators も試しましたが、結果は、@、Aと同様でした。 少しわかりやすくなりましたでしょうか? | ||||||||||||
|
投稿日時: 2006-07-20 10:23
おはようございます。
/Tをつけなかった場合、対象フォルダ及びそのフォルダ内のファイルのみにACLが適用 されることになります。従ってフォルダBは上位からACLを継承せず、コピーされるため、 グレーのチェックボックスになっていないはずです。 サブフォルダCはBから継承しているので、ACLはグレーのチェックボックスとなっている はずです。確認してみてください。 今よく読み返したのですが、2003なのですね。 すいません、2000では上のようになるのですが、2003の環境が手元にないので^^;
リソキの2003と2000の違いですかね。2000のリソキのSubinaclだと/subdirectoriesで うまく行ったんですけど・・・。下のような感じで subinacl /subdirectries D:\\dummy\\ /revoke=dummy ただD:\\dummyフォルダには適用されなかったので、/fileの2行で対応できました。
状況がわかりました。 /Eは現在のACLを編集するだけなので、適用範囲は対象フォルダとその中のファイル だけになります。 一番簡単なところはcaclsで/tをつける方法だと思います。 | ||||||||||||
|
投稿日時: 2006-07-20 11:30
見習い管理者さま
申し訳ございません。 昨日の書き込みで、
と記述しましたが、本日再度実施したところ、 希望通りの内容になりました。 メモレベルでしか書いていなかったため、このようなことになってしまいました。 今後このようなことがないようにしっかり確認した上で書き込み致します。
はい。そのようです。 そのため、caclsで/Tなしでは、フォルダAのみアクセス権が変わり、 フォルダBはコピーされ、フォルダCはフォルダBからの継承となりました。 まとめ ・caclsでは、/Tをつけてもアクセス拒否となり、目的を達せられませんでした ・subinaclを使用することで目的を達することができました。 行ったコマンドは以下のようになりました。 takeown フォルダA /A /R /D Y cacls フォルダA /T /C /G ユーザB:F administrators:F subinacl /file フォルダA /setowner=ユーザB subinacl /subdirectories フォルダA\\* /setowner=ユーザB subinacl /file フォルダA /revoke=administrators subinacl /subdirectories フォルダA\\* /revoke=administrators | ||||||||||||
|
投稿日時: 2006-07-20 12:42
今更なんですが・・・
これは所有権とアクセス権変更の順序を変えればいけます。 うっかりしてました。すいません^^; #administratorsのフルコントロールを取ると何かとめんどうですよ。 #まあ色々問題があってのことだとは思いますが・・・ |
1