- PR -

レジストリのアクセス権変更について

1
投稿者投稿内容
フォチュヒロ
会議室デビュー日: 2005/08/04
投稿数: 10
投稿日時: 2005-08-04 16:03
PCツールを作成していますが、ツールからレジストリのアクセス権の変更したいのですがよく分かりません。
レジストリ操作のWindowsAPIと、WindowsNT系のACL(※1)に詳しい方おりましたら、
アドバイス頂ければと思います。

※1 ACLとは,特定のリソースに対して「誰の」「どのような操作を」「許可また
は拒否するのか」
を定義したACE(Access Control Entry)の列挙です。
(ファイルの場合)ファイル右クリック→「セキュリティ」で出てくる属性のリスト。

[ツール実行後に期待する結果]
レジストリキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
配下に新たにサブキーを作成し、各種の値を設定します。

ただし、上記のキーはデフォルトでフルコントロール不可(※2)であるため、
WINAPIである RegCreateKeyEx() を KEY_ALL_ACCESS 指定で記述しても エラーで返
るという状況です。
( 仮に、Administoratorでログインしてもセキュリティ記述子とは関係ありませ
ん。)

※2
ユーザのアクセス許可項目として"フルコントロール"にチェックが付いていない状
態です。
regedt32.exe にて親キーのアクセス権を変更すれば、目的としている動作は実現で
きる事は確認しております。

●現在、あえてレジストリではなく、ファイルにて上記のアクセス制限変更操作が実
現できる事までは確認し、
APIをレジストリのものに置き換えてデバックしておりますが、
RegSetKeySecurity() でエラーとなるため、プロセスを戻りながらデバック中です。
↑最終的にこの関数が成功すればOK

何とかPCツールから操作したいのでご存知でしたら教えてください。


[環境]
Windows2000
VC++6.0

以上、よろしくお願いします。

Hilda
常連さん
会議室デビュー日: 2006/02/12
投稿数: 37
投稿日時: 2006-09-15 19:07
既に解決されているかもしれませんが、レジストリのアクセス権変更サンプルが
ありました。
※このスレッドとずれていたらすみません。

#かなり時間がたっていますが、私も同じような問題が発生しましたので
しらべました。

-----

Windows 2000、Windows NT、Windows XP でパフォーマンス データをセキュリティ保護する方法

文書番号 : 146906
最終更新日 : 2005年10月12日
リビジョン : 2.3

http://support.microsoft.com/kb/146906/JA/
1

スキルアップ/キャリアアップ(JOB@IT)