الطريقة الموصى بها للكتابة إلى ملف مخفي / للقراءة فقط C #

StackOverflow https://stackoverflow.com/questions/9332947

سؤال

أحاول الكتابة إلى ملف يحتوي على السمات التالية - مخفي و للقراءة فقط.يجب أن تكون عمليتي قادرة على الكتابة إليها ولكن العمليات الأخرى لديها وصول للقراءة فقط.

الإجراء الذي أتبعه هو:

  1. تحقق من وجود الملف
  2. إزالة السمات الموجودة في الملف ، أي المخفية والقراءة فقط
  3. أكمل الكتابة إلى الملف
  4. أعد تطبيق السمات (مخفية وقراءة فقط) على الملف

أعلم أن هذه ليست الطريقة الموصى بها لاستخدام سمات الملف والكتابة إلى ملف مخفي.هل هناك طريقة أفضل لإنجاز مهمتي؟

شكرًا مقدمًا

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

المحلول

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

إن أبسط طريقة للتشغيل في سياق مستخدم آخر هي الضغط على مفتاح shift والنقر بزر الماوس الأيمن على ملف exe ، واختيار "تشغيل كمستخدم مختلف".

باستخدام خدمة Windows ، يمكنك تغيير الحساب الجاري من خصائص الخدمة.الشيء نفسه ينطبق على مهام Windows المجدولة.

لتغيير الحساب الجاري "في منتصف العملية" ، تحتاج إلى القيام ببعض الأعمال الإضافية ، ابحث عن مقالة جيدة حول هذا الموضوع ، مثل http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C .

نصائح أخرى

كما يشيرAlbin ، فإن الطريقة الصحيحة لمعالجة مشكلة الوصول هي باستخدام أذونات الملف ، وليس السمات.

إذا كان الملف مخفيًا لأنك لا تريد أن يتمكن المستخدمون من عرض محتوياته ، فأقترح أن تكون آلية التشفير البسيطة (خفيفة الوزن نسبيًا) حلاً أفضل من السمة المخفية.

لاحظ أن كلاً من السمات المخفية والقراءة فقط يمكن إيقافها بواسطة مستخدم لديه امتيازات كافية.وعادة ما يمكن لأي شخص تشغيل ميزة "إظهار الملفات والمجلدات المخفية" في Explorer.

ليست هناك حاجة لإزالة السمة المخفية.لا أعرف أي حل آخر مع القراءة فقط.

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