2009-08-04 6 views
0

私はHKEY_LOCAL_MACHINEの下にキーを作成することを検討しています。私はMDSNを読んで、何をすべきか理解していますが、レジストリセキュリティ事業について懸念しています。私は、システム上のどのユーザも鍵にアクセスできるようにしたい。 RegCreateKeyEx呼び出しのLPSECURITY_ATTRIBUTESパラメータに何かを指定する必要がありますか?もしあれば?このパラメータの説明には、SECURITY_ATTRIBUTESへのリンクがあります。「これは、NULL随意アクセス制御リスト(DACL)を割り当てることによって誰にでもアクセスを許可するのと同じではありません」となっています。しかし、私はそれが何を意味するのかを正確に知ることはできません。誰も助けることができますか?レジストリ - キーの作成 - セキュリティ

答えて

1

あなたは誰でもそのキーを読んだり、書いたりできるようにしますか?デフォルトでは、ユーザーは追加作業をすることなくキーを読み取ることができます。書き込みアクセスなどの追加のセキュリティ属性を指定する場合は、セキュリティ属性を指定する必要があります。

私は記事をここではCreating a DACLと題しました。そこにあるコードを使用して、次のようなコードを入力してください。

SECURITY_ATTRIBUTES sa; 

sa.nLength = sizeof(SECURITY_ATTRIBUTES); 
sa.bInheritHandle = FALSE; 

// Call function to set the DACL. The DACL 
// is set in the SECURITY_ATTRIBUTES 
// lpSecurityDescriptor member. 
if (!CreateMyDACL(&sa)) 
{ 
    // Error encountered; generate message and exit. 
    printf("Failed CreateMyDACL\n"); 
    exit(1); 
} 

RegCreateKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, NULL, 0, KEY_ALL_ACCESS, &sa, &hKey, NULL); 
+0

これは役に立ちます。 誰かがキーを作成するときに世界の書き込みを確立するコードを提供できますか?または、MDSNの同様の例を教えてください。 私はまた、ユーザーがインストールされているソフトウェアを削除したときに何が起きるのか不思議です。ソフトウェアによって作成された鍵は、孤児として残されますか? –

+0

詳細はこちら –

+0

レジストリキーの作成と削除、および設定は、ソフトウェアのインストールと削除のルーチンに任されています。自動的には発生しません。 –

関連する問題