سؤال

كتبت تطبيقًا يخزن عدة أشياء في السجل. عندما بدأت لأول مرة ، أضفتهم إلى HKEY_LOCAL_MACHINE ، لكنني استمرت في الحصول على أخطاء في الكتابة إلى. لذلك ، اقترح أن أستخدم HKEY_Current_user ، الذي عمل حتى أدركت أنني غير قادر على الوصول إليهم من حساب آخر. كيف يمكنني الكتابة إلى السجل ولكن السماح لجميع الحسابات بالوصول إلى القراءة والكتابة إليها؟

لقد استخدمت وحدة Python _winreg.

هل كانت مفيدة؟

المحلول

HKEY_LOCAL_MACHINE/Software/YourSoftware, ، احتياجات أذونات المسؤول وهي لتثبيت بيانات الوقت ، أو HKEY_CURRENT_USER/Software/YourSoftware, ، وهو للبيانات ذات الصلة بهذه البيئة فقط (هذا المستخدم ، هذا الملف الشخصي وما إلى ذلك)

تعديل: سيكون البديل هو تخزين ملف التكوين وإعداد الأذونات المناسبة في وقت التثبيت.

التعديل الثاني: لقد قرأت في تعليق آخر أنك تريد التأكد من تعديل التطبيق الخاص بك بعض الملفات ، لذلك يمكنك تخزين أوقات التعديل. الحلول:

  • قم بتشفير الملف-لا يمكن التعديل
  • قم بتقديم خدمة ، وتثبيت مع مستخدم خاص يتم تشغيله بموجبه ، وجعل الأذونات لذلك ، بحيث يمكن لهذه الخدمة فقط الوصول إلى الملف

يقول شعورك عن متطلباتك لتعديل ملف فقط من خلال تطبيقك ، ولكن تحت أي حساب خاطئ للغاية لكن الحلول الصحيحة أكثر أو أقل يجب أن تفرض تعقيدًا إضافيًا. قرارك: راجع متطلباتك وربما تصميمك ، أو إضافة طبقة من التعقيد وربما Cruft.

تحرير 3: تقسيم التطبيق الخاص بك ، لديك تطبيق المسؤول ، والذي يمكن مع حقوق المسؤول الكتابة إلى HKLM وتعيين الإعدادات. يجب أن تكفي حقوق المستخدم العادية للقراءة HKLM

نصائح أخرى

ستحتاج إما أذونات المسؤول للكتابة إلى HKLM ، أو تسوية مفاتيح REG غير المعقولة. سيختلف السلوك إلى حد ما بين إصدارات مختلفة من Windows.

إذا كنت ترغب في الكتابة إلى السجل حتى يتمكن جميع المستخدمين من قراءته ، فستحتاج إلى تشغيل البرنامج بامتيازات المسؤول.

قد تكون أكثر سعادة في تخزين معلوماتك في ملف بدلاً من ذلك ، والتي سيكون من الأسهل إدارتها.

أحد الاحتمالات الأخرى هو تغيير الأمان على مفاتيح HKLM الخاصة بك إلى R/W لأي شخص. على الرغم من أن فكرة أن هذا أمر أمني إلى حد ما ضد التعديل يبدو أنه تمتد قليلاً.

لدى Regedt32 القدرة على تعيين المفاتيح ، وبالتالي يجب أن يكون لها واجهة برمجة التطبيقات الأساسية أيضًا.

كل ما قيل ، هذه طريقة مشدودة لتشغيل التطبيق وإظهار نقص في فهم نماذج الأمان والأمان. (بمعنى آخر ، تطوير Windows النموذجي.)

كيف شعرت بالسخرية .....

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top