7

फाइल सिस्टम सिस्टम के साथ प्रयोग करते समय, मुझे पता चला है कि यह किसी भी तरह से मेरे उपयोगकर्ता खाते की फाइलों और फ़ोल्डरों को अनुमति देता है, और फाइलों और फ़ोल्डरों में जो बदलाव आया है, उसके बारे में जानकारी के साथ परिवर्तन घटनाओं को बढ़ाएगा। टी तक पहुंच भी है।फ़ाइल सिस्टम सिस्टम

मुझे लगता है कि के बारे में दो प्रश्न हैं:

1) ऐसा क्यों होता है?
2) क्या यह एडी कॉन्फ़िगरेशन में कोई समस्या है? मैं इसे कैसे ठीक करूं ?
3) क्या इन फ़ाइलों को इकट्ठा करने का कोई तरीका है, या फ़ाइलों के बारे में अधिक जानकारी प्राप्त करने के लिए उनमें से एक फ़ाइलसिस्टम इन्फॉर्म भी बनाएं (न केवल उन पर किए गए परिवर्तन)?

जहां तक ​​मेरा की कोशिश की है, प्रतिबंध के केवल FileSystemWatcher प्रतिरक्षा, मैं नहीं किसी भी अन्य बात यह खत्म हो चला सकते हैं, यहाँ मैं क्या कोशिश की है की एक सूची है:

  • File.Exists
  • Directory.Exists
  • पाया फाइलों पर
  • FileInfo उदाहरण पाया फाइलों पर
  • DirectoryInfo उदाहरण
  • File.Copy
  • File.Delete

अद्यतन: साथ हेल्गे के समाधान की कोशिश की, किसी चीज़ वह क्या sugested है के समान है, नहीं खिड़कियां 'एपीआई के माध्यम से, लेकिन कमांड प्रॉम्प्ट के माध्यम से:

robocopy/बी \ MyServer \ फ़ोल्डर c: \ somefolder

सर्वश्रेष्ठ आदेश नाम कभी भी।

आप रोबोकॉपी के माध्यम से जांच सकते हैं कि/बी "बैकअप मोड" के लिए खड़ा है, जो हेल्ज का सुझाव है कि इस सुरक्षा को पार करने का कारण होगा।

मैं कुछ भी कोशिश करूंगा, मैं यह जानना चाहता हूं कि फाइलसिस्टम वाटर किस फ़ोल्डर को देखने में सक्षम है, मुझे खोलने की अनुमति नहीं है। जानना क्यों, मैं फाइल सिस्टम सिस्टम को कैसे अवरुद्ध करना है, और कैसे मिली फाइलों को इकट्ठा करना सीखना चाहता हूं।

यदि मैं अपने व्यक्तिगत खाते के साथ था तो मैं एक सर्वेक्षण करूंगा। कृपया क्या मेरी मदद करना किसी के लिए संभव है ? मैं समाधान के बारे में एक ब्लॉग पोस्ट लिखूंगा, अन्य चीजों के साथ जो भविष्य में किसी भी संदेह के साथ किसी की भी मदद कर सकता है।

+0

फ़ाइल सिस्टम अनुमतियों के पास सक्रिय निर्देशिका से कोई लेना देना नहीं है। वे केवल स्थानीय प्रणाली का एक कार्य हैं। –

+2

@ हेल्ज मैं असहमत हूं। अगर मैं किसी समूह या उपयोगकर्ता के लिए किसी फ़ोल्डर के लिए अनुमति से इनकार करता हूं, तो मैं नहीं चाहता कि वे किसी भी तरह से इस फ़ोल्डर पर जो कुछ भी करते हैं उसे देख सकें। मेरे लिए यह एक छेद है, एक बग है, और तय किया जाना चाहिए। – DevexPP

+0

लेकिन स्थानीय सिस्टम पर अनुमति प्रवर्तन के पास सक्रिय निर्देशिका से कोई लेना देना नहीं है। क्या मशीन डोमेन-जुड़ा हुआ है या नहीं, शायद इस मुद्दे के लिए अपरिवर्तनीय है। –

उत्तर

4

this answer on SO के अनुसार FileSystemWatcher एपीआई फ़ंक्शन ReadDirectoryChangesW पर आधारित है। यदि यह सच है तो यह आपके द्वारा देखी गई व्यवहार को बताता है - और यह सुरक्षा छेद क्यों नहीं है।

documented on MSDN ReadDirectoryChangesW को विशेषाधिकार SeBackupPrivilege की आवश्यकता है (जिसे पैराफ़ाइल FILE_FLAG_BACKUP_SEMANTICS पैराफ़ाइल के लिए अनुरोध किया गया है)। यदि उस मोड में एक फ़ाइल खोला जाता है, तो लौटा हुआ हैंडल फ़ाइल तक पूर्ण पहुंच प्रदान करता है, एक्सेस चेक को बाधित करता है। यह सुविधा backup programs के लिए डिज़ाइन की गई है, जिन्हें अनुमतियों पर ध्यान दिए बिना डिस्क पर सबकुछ पढ़ने में सक्षम होना चाहिए।

यह सुरक्षा छेद नहीं है क्योंकि विशेषाधिकार SeBackupPrivilege जो काम करने के लिए आवश्यक है केवल डिफ़ॉल्ट रूप से प्रशासकों को दिया जाता है।प्रशासक, और वास्तव में किसी भी मशीन तक भौतिक पहुंच वाले किसी भी व्यक्ति को हमेशा फ़ाइल को नियंत्रित करने और पढ़ने में सक्षम होते हैं - जब तक कि यह एन्क्रिप्ट नहीं किया जाता है।

बैकअप मोड में फ़ाइलों तक पहुंचने के लिए किस फ़ंक्शन का उपयोग किया जा सकता है: पढ़ने के लिए कम से कम बैकअप रीड है। FindFirstFile/FindNextFile के साथ गणना आसानी से संभव है। बेशक इसके लिए वास्तविक विंडोज एपीआई की आवश्यकता है, न कि अपंग .NET फ़ाइल सिस्टम फ़ंक्शंस।

+0

क्या आप कह रहे हैं कि FileSystemWatcher प्रतिबंधित उपयोगकर्ता खातों के तहत काम नहीं करेगा? –

+0

मुझे नहीं पता। लेकिन मुझे यकीन है कि अगर यह आपको उन फाइलों के बारे में जानकारी देता है जिनके पास आपको देखने की अनुमति नहीं है तो बैकअप विशेषाधिकार आवश्यक है। शायद यह केवल उपलब्ध होने पर विशेषाधिकार का उपयोग करता है। –

+0

समझ गया। मैं इसे और अधिक अच्छी तरह से जांचूंगा और जो कुछ भी मुझे यहां मिलेगा उसकी रिपोर्ट करें! – Marcelo

संबंधित मुद्दे