2009-07-06 5 views
0

Windows API関数RegSaveKeyExを使用してレジストリエントリをファイルに保存するコードがあります。ただし、Win VistaまたはWin 7で実行すると、RegSaveKeyExはERROR_PRIVILEGE_NOT_HELDを返します。コードは、Microsoftが提供するコードSetPrivilegeを使用してセキュリティ特権SE_BACKUP_NAMEを有効にします。RegSaveKeyEx標高が必要ですか?

すべては勝利XP(adminユーザ)で正常に動作しますか、私は勝つVistaまたは勝利7にUACを無効にした場合には、プロセスを上昇させずにVista上RegSaveKeyExを使用することはできませんか?

答えて

1

標準ユーザーがSE_BACKUP_NAME権限を持っていないので、いいえ、RegSaveKeyExは標高せずにVista上では動作しません。

バックアップは非常に「危険な」特権の一つである - それは基本的に関係なく、ACLののディスク上に何かを読むことができます。あなたは、次の...

Control Panel-> 
    Administrative Tools-> 
    Local Security Policy-> 
     Local Policies-> 
     User Rights Assignment-> Back up files and directories (SE_BACKUP_NAME) 

に行く...と、ユーザー(またはグループ)を追加することにより、許可に特定のユーザー(またはグループ)を与えることができる

1

したいです。または、ユーザーをBackup Operatorsに追加することもできます。

しかし、あなたはここで注意が必要です。下記の素晴らしいコメントを参照してください。

+1

私は、ユーザーにバックアップ権限を付与する非常に慎重になるだろう - それは、すべてのファイルは読み取り操作のためにそれらはACLのを回避することができます。これは、権限のないユーザーがディスク上の何か(キャッシュされたパスワードデータさえ)を読み取ることができることを意味します。 – Michael

関連する問題