NTFS मूव / कॉपी डिज़ाइन दोष को कैसे हल करें?


31

जैसा कि किसी ने भी फ़ाइल सर्वर अनुमतियों से निपटा है, पता है कि एनटीएफएस में एक दिलचस्प डिज़ाइन सुविधा / दोष है जिसे मूव / कॉपी समस्या के रूप में जाना जाता है।

जैसा कि इस एमएस केबी लेख में समझाया गया है , फ़ोल्डर या फ़ाइल की अनुमति स्वचालित रूप से मूल से विरासत में नहीं आती है यदि फ़ोल्डर ले जाया जाता है और स्रोत और गंतव्य एक ही NTFS वॉल्यूम पर हैं। अनुमतियाँ विरासत में मिली हैं यदि फ़ोल्डर की प्रतिलिपि बनाई गई है या यदि स्रोत और गंतव्य विभिन्न संस्करणों पर हैं।

यहाँ एक त्वरित उदाहरण है:

आपके पास एक ही NTFS वॉल्यूम पर दो साझा फ़ोल्डर हैं जिन्हें "तकनीशियन" और "प्रबंधक" कहा जाता है। तकनीशियनों के समूह में तकनीशियनों के फ़ोल्डर में आरडब्ल्यू की पहुँच होती है और प्रबंधक समूह के पास "प्रबंधकों" के फ़ोल्डर में आरडब्ल्यू की पहुँच होती है। यदि किसी के पास दोनों तक पहुंच है और वे "प्रबंधकों" फ़ोल्डर से "तकनीशियनों" फ़ोल्डर में एक सबफ़ोल्डर ले जाते हैं, तो जो फ़ोल्डर स्थानांतरित किया गया है वह अभी भी "प्रबंधकों" समूह में केवल उपयोगकर्ताओं के लिए सुलभ है। "तकनीशियन" समूह सबफ़ोल्डर तक नहीं पहुंच सकता है, भले ही वह "तकनीशियनों" फ़ोल्डर के तहत हो और ऊपर से अनुमतियाँ विरासत में मिली हों।

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

प्रश्न हैं:

इस NTFS डिजाइन दोष को हल करने का सबसे अच्छा तरीका क्या है और आप इसे अपने वातावरण में कैसे संभाल रहे हैं?

मुझे पता है कि लिंक किए गए KB आलेख में Windows Explorer के डिफ़ॉल्ट व्यवहार को बदलने के लिए कुछ रजिस्ट्री कुंजियों के बारे में बात की गई है, लेकिन वे क्लाइंट-साइड हैं और उपयोगकर्ताओं को उन अनुमतियों को बदलने की क्षमता रखने की आवश्यकता है, जिनके बारे में मुझे लगता है कि अधिकांश वातावरण में आप गैर-स्टार्टर हैं। अपनी फ़ाइल सर्वर अनुमतियों (और एक sysadmin के रूप में आपकी पवित्रता) पर नियंत्रण रखना चाहते हैं।


2
मैं जानता हूं कि प्रबंधकों / तकनीशियनों का उदाहरण केवल दोष का वर्णन करना है, लेकिन कुछ मामलों में वह व्यवहार आप चाहते हैं: यदि कोई गलती से फ़ोल्डर को प्रबंधकों से तकनीशियनों के पास ले जाता है, तो आप शायद नहीं चाहते कि तकनीशियन पहुंच सकें यह।
वार्ड - को पुनः स्थापित मोनिका

2
यह वास्तव में कोई दोष नहीं है, यह फ़ाइल अनुमतियाँ काम करने का तरीका है। यह NTFS की रिहाई के बाद से प्रलेखित किया गया है। मेरा मानना ​​है कि कुछ लोग फ़ाइल अनुमतियों का उपयोग न करने और केवल पहुंच को नियंत्रित करने के लिए शेयर अनुमति का उपयोग करने की सिफारिश कर रहे हैं। यह Microsoft फ़ाइल सर्वर के लिए सुरक्षा की बहुत बुनियादी बातों के खिलाफ जाता है। समान वॉल्यूम पर किसी फ़ोल्डर / फ़ाइल को ले जाने का कारण यह नहीं है कि फ़ोल्डर / फ़ाइल वास्तव में डिस्क पर नहीं चलती है, बस सूचक हम परिवर्तन देखते हैं।
माइकल ब्राउन

जवाबों:


12

मेरा दृष्टिकोण फ़ाइल / निर्देशिका स्तर फ़ाइल अनुमतियों का उपयोग नहीं करना है; फ़ाइल शेयर स्तर अनुमतियों का उपयोग करें, और पूरे सर्वर फ़ाइल सिस्टम डेटा ड्राइव को सभी पूर्ण नियंत्रण (जो कि मूट हो जाता है) पर सेट करें।

इन वर्षों में (10+), मैंने पाया है कि NTFS अनुमतियां अधिक जटिल हैं और अधिक त्रुटियों की ओर ले जाती हैं। यदि अनुमतियाँ गलत हैं, या वंशानुक्रम टूट गया है, तो आप डेटा और इसे खोजने और इसे देखने के लिए कड़ी मेहनत को उजागर करते हैं। साथ ही, जैसा कि आप कहते हैं, आप इस कदम / कॉपी समस्या के संपर्क में हैं।

वे स्थान जहाँ आपको निर्देशिका / फ़ाइल स्तर ACL का उपयोग करना है; मुझे पता है कि स्वास्थ्य के अलावा कोई और उपाय नहीं है।


10

वैसे यह वास्तव में दोष नहीं है। जब NT3.1 के कम से कम बीटा 2 के बाद से फ़ाइलें चलती हैं, तो अनुमतियों को संभालने के लिए यह नियम (हालांकि स्पष्ट रूप से इनहेरिटेंस नहीं है जो केवल Windows 2000 के साथ जोड़ा गया था)। यह लगभग विंडोज की किसी भी विशेषता के रूप में जाना जाता है। मुझे आपके विचार से बहुत सहानुभूति है, क्योंकि हममें से कुछ ही ऐसे हो सकते हैं जो एक चरण में इससे नहीं जलते हैं। लेकिन यह कुछ ऐसा है जो सिसादमिन जल्दी से सीखता है।

जे आर


6
इस बारे में उनके ब्लॉग पर रेमंड चेन के साथ मेरा तर्क था। Microsoft "NTFS" को "इनहेरिटेंस" की अनुमति के रूप में बेचता है, तब बैकपल्स जब कवच में इस विशेष चिनक को लाया जाता है। NTFS के पास फ़ाइल बनाते समय फ़ाइल पर स्पष्ट ACE लगाकर फाइल निर्माण के समय विरासत की अनुमति है। मेरा तर्क है कि जब तक प्रलेखन और विपणन साहित्य अपनी विरासत प्रणाली के बारे में बोलता है, जब तक कि यह वास्तविक समय या तो प्रलेखन या कोड छोटी गाड़ी है। उन्हें एक चुनना चाहिए और इसे ठीक करना चाहिए।
इवान एंडरसन

1
वैसे यह एक व्यापार है। यदि वंशानुक्रम वास्तविक समय था, तो हर बार जब आप एक गहरे पेड़ के नीचे एक फाइल खोलते हैं, तो ओएस को यह जानने के लिए पेड़ को चलाना होगा कि प्रभावी अनुमति क्या है। बेशक ट्रेडऑफ़ है अगर आप एक गहरे पेड़ के शीर्ष पर अनुमतियों को बदलते हैं तो आपके पास एक लूओंग प्रतीक्षा है! क्या सक्रिय निर्देशिका उसी मॉडल का उपयोग नहीं करती है?
जॉन रेनी

जब कंटेनर में ले जाया जाता है तो AD ऑब्जेक्ट नए माता-पिता की अनुमतियों को सही ढंग से प्राप्त करते हैं और मैं तर्क दूंगा कि NTFS में फ़ाइल / फ़ोल्डर को स्थानांतरित करते समय यह अपेक्षित "सही" व्यवहार है।
डेविड आर्चर

3
@renniej: AD वास्तविक वास्तविक समय की विरासत का उपयोग करता है। नेटवेयर फ़ाइल सिस्टम ने इसे सदियों पहले किया था। यदि Microsoft ने इसे लागू किया था, तो NTFS भी कर सकता था। यह "सड़क नहीं लिया" है। मुझे क्या परेशान करता है कि Microsoft दस्तावेज़ीकरण फिर से: NTFS और एक्सप्लोरर "खेलता है" जैसे कि वंशानुक्रम वास्तविक समय (यानी झूठ) है। इसे हमें बताएं जैसे यह है, या प्रलेखन के साथ व्यवहार करने के लिए व्यवहार को ठीक करें!
इवान एंडरसन

@renniej जैसा कि इवान एंडरसन ने कहा, नेटवेयर ने 1990 में ऐसा किया था जब वे राजा थे। 'दृश्यता सूची' को ट्रैक करने वाला एक और फाइल-सिस्टम इंडेक्स बनाकर समस्या को हल किया जा सकता है। Microsoft ने ऐसा नहीं करने के लिए चुना, लेकिन भविष्य के विंडोज सर्वर रिलीज के लिए एक को शमीम कर सकता है।
sysadmin1138

6

हम NTFS का उपयोग NT 3.51 के बाद से कर रहे हैं और हालांकि हमने यह "समस्या" देखी है (जैसा कि लगभग सभी ने किया है) इससे हमें बहुत परेशानी नहीं हुई है:

  • हम हमेशा लोगों को फाइलों को कॉपी करने के लिए कहते हैं यदि उन्हें एक साझा निर्देशिका से दूसरे में स्थानांतरित करने की आवश्यकता होती है। "खींचते समय CTRL कुंजी दबाए रखें और सुनिश्चित करें कि छोटा + दिखा रहा है," एक सामान्य वाक्यांश है।
  • हमारे साझा किए गए फ़ोल्डरों में एक बहुत ही सरल संरचना है, और हमारे द्वारा बनाए गए साझा किए गए फ़ोल्डर अक्सर समूहों के बीच पार नहीं करते हैं, इसलिए लोग पहली बार में फ़ाइलों की प्रतिलिपि बनाना चाहते हैं।
  • हम समस्या को ज्यादातर अपने "सामान्य" स्थान - फ़ोल्डर में देखते हैं जहां हर कोई पढ़ / लिख सकता है, लेकिन वे निर्देशिका अधिकतर अल्पकालिक हैं इसलिए समस्या तब होती है जब वे शुद्ध हो जाते हैं।

4

मैं जो काम कर सकता हूं:

  • विभिन्न एनटीएफएस संस्करणों पर अलग-अलग अनुमतियों के साथ फ़ोल्डर बनाने का कोई तरीका ढूंढें
  • एक निर्धारित कार्य (समर्थन अनुरोधों की आवृत्ति के आधार पर एक घंटे या एक बार प्रति दिन) करें जो फ़ोल्डर्स के माध्यम से चलता है और शीर्ष स्तर से उन सभी अनुमतियों को समान करने के लिए रीसेट करता है। यह आदर्श से कम है, और अधिक अगर फ़ोल्डर्स में कई फाइलें हैं, लेकिन ऐसा कुछ है जो समस्या को ठीक करेगा यदि कोई अच्छा समाधान नहीं है जैसे कि सर्वर साइड रजिस्ट्री फिक्स। जिस कमांड को आप देखना चाहते हैं, उसे 'cacls' कहा जाता है, जिसे आप तब बैच फ़ाइल में जोड़ सकते हैं।

डिस्क्लेमर - मैं एक यूनिक्स बैकग्राउंड से आता हूं (और अलग-अलग परमिशन की खामियों को ठीक करने के लिए पिछले एक को लागू किया है - यह icky लगता है, लेकिन काम करता है), इसलिए बहुत बेहतर फिक्स हो सकता है।


+1 - मार्क द्वारा दिया गया 1 उत्तर सबसे अच्छा विकल्प है। यह एक दर्द है, लेकिन यह NTFS 5 में इस बेवकूफ डिजाइन निर्णय के आसपास पाने के लिए आपका सबसे अच्छा तरीका है।
इवान एंडरसन

विस्तार करने के लिए: यह एक ऐसी जगह है जहाँ मेरे SharePoint-उपयोग करने वाले मित्र "SharePoint का उपयोग करें" कहेंगे! इसी तरह, मेरे संस्करण-नियंत्रण-उपयोग-मित्र और दस्तावेज़-नियंत्रण-प्रणाली-उपयोग-मित्र, तोड़फोड़, डॉक्यूमेंटम, आदि की ओर इशारा करते हैं, और कहते हैं कि "उपयोग करें।" NTFS में यह डिज़ाइन पसंद एक बड़ा भारी मस्सा है, और यह लगभग आपको आश्चर्यचकित करता है कि क्या Microsoft वास्तव में अपने स्वयं के सॉफ़्टवेयर का उपयोग करता है जब आपको अपने नेटवर्क में इसके साथ लड़ना पड़ता है। (यह मेरे लिए चिल्लाता है कि Microsoft अपने सॉफ़्टवेयर का उपयोग उसी तरह से नहीं करता है जैसे हम w / हमारे उपयोगकर्ताओं को करते हैं, वास्तव में। भरी हुई w / "ज्ञान कार्यकर्ताओं" वाली कंपनी के लिए अच्छा होना चाहिए।)
इवान एंडरसन

1
मैं सहमत हूं कि आदर्श रूप से हम सभी साझा किए गए फ़ोल्डरों को अपने स्वयं के संस्करणों पर अलग कर सकते हैं, व्यवहार में यह एक बड़े वातावरण (साझा किए गए हजारों फ़ोल्डर्स) के लिए असाध्य है। इसके अलावा, कुछ कायरता जंक्शन बिंदु या सिमलिंक वूडू के बिना, इसका मतलब है कि उन पर विभिन्न अनुमतियों के साथ नेस्टेड सबफ़ोल्डर्स की क्षमता खोना।
डेविड आर्चर

1
@ डेविड: शेयरों में डेटा स्थानांतरित करने के परिणामस्वरूप एक प्रतिलिपि और हटा दी जाएगी। एक शेयर के भीतर डेटा ले जाने से एक चाल होगी। यदि आप प्रत्येक साझा किए गए फ़ोल्डर को बिना किसी सबफ़ोल्डर्स के अनुमति पदानुक्रम की जड़ बनाते हैं जिसमें अधिक प्रतिबंधात्मक अनुमति होती है तो आप समस्या को कम कर देंगे। फिर भी बदसूरत, हालांकि। (मेरे पास W2K3 सर्वर w / 2200+ इस पर व्यक्तिगत साझा किए गए फ़ोल्डर हैं और मैं प्रदर्शन समस्याओं को नहीं देख रहा हूँ ...)
इवान एंडरसन

3

एक व्यवस्थापक के रूप में चलते समय मैं xcopy / s / e / c / h / r / k / y का उपयोग करता हूं - जो फ़ाइल स्वामित्व और ACL से अलग है, जिसका अर्थ है कि ACL वंशानुक्रम स्वचालित रूप से किक करता है। कभी भी ऐसी स्थिति से सामना नहीं करना पड़ता था जहां एक उपयोगकर्ता। हालांकि सामान ले जाया गया।


2
क्या आपके उपयोगकर्ता जीवित हैं?
इवान एंडरसन

4
कभी-कभी मुझे आश्चर्य होता है ...
मैक्सिमस मिनिमस

@ ईवेन: शायद उनमें से कोई भी दो समूहों में नहीं है!
सैमबी

+1 लोगों को उस टूल की ओर ले जाने के लिए जो फ़ाइलों को बनाए रखने के दौरान (कई अन्य लोगों के साथ) इस समस्या को हल करता है; हालाँकि, XCOPY का मूल्यह्रास किया गया है: ROBOCOPY.EXE इसके बहुत ही योग्य उत्तराधिकारी हैं।
जनाब

2
नाइटपैकिंग के लिए क्षमा करें, लेकिन xcopy_copy_ फ़ाइलों (_moving_ फ़ाइलों के बजाय?) को नहीं करता है - ऐसा लगता है कि लेखक के पास प्रतिलिपि के साथ कोई समस्या नहीं है, उसके पास केवल _moving_ के साथ समस्याएँ हैं। मैं अपने अनुभव की कमी के इस bc पर गलत हो सकता हूं, इसलिए कृपया मुझे सही करें अगर मैं गलत हूं (यानी क्या आप 'xcopy' का उपयोग करने के बाद 'del' कमांड का उपयोग करते हैं, तो तब फाइलें वास्तव में 'कॉपी और डिलीट' हो जाती हैं! = चले गए?)
colemik

3

मैं जटिल अनुमतियों का ट्रैक रखने के लिए समूह नीति / सुरक्षा नीतियों / फ़ाइल प्रणाली का उपयोग करता हूं। (नीति में "अनुमतियों को बदलें" का उपयोग न करें)।

रात के दौरान सभी अनुमति रीसेट करने के लिए एक CACLS शेड्यूल करें, उसके बाद एक gpupdate / बल द्वारा नीति से अनुमति को फिर से लागू करने के लिए। एक जादू की तरह काम करता है।


शायद यह केवल विंडोज सर्वर के लिए है? जैसा कि समूह नीति को डोमेन ऑब्जेक्ट पर लागू किया जाना है, यह गैर-विंडोज स्टोरेज शेयरों पर लागू नहीं किया जा सकता है जिसकी मैं कल्पना करूंगा?
रिच एम

2

विंडोज 7 (या शायद विंडोज विस्टा) के बाद से, एक फ़ोल्डर या फ़ाइल के लिए अनुमतियाँ माता-पिता से विरासत में मिलती हैं यदि फ़ोल्डर ले जाया जाता है और स्रोत और गंतव्य एक ही NTFS वॉल्यूम पर हैं - यदि कोई फ़ाइल या फ़ोल्डर एक्सप्लोरर के माध्यम से कॉपी किया जा रहा है। पहले वाले OS में, आप Far Manager का उपयोग कर सकते हैं - यह गंतव्य से वंशानुक्रम को सक्षम करने की अनुमति देता है (अन्य सुविधाओं के टन के साथ)। हालांकि फ़ार एक सामान्य उपयोगकर्ता के लिए अनुकूल नहीं लग सकता है।


0

एक बहुत ही सरल वर्कअराउंड है बस फाइलों को ज़िप करें और इसे गंतव्य निर्देशिका में अनलॉक्ड करें।


मैं सिर्फ यह कोशिश की है और दुर्भाग्य से यह काम नहीं किया है। इससे पहले कि मैं इसके साथ कुछ भी करूँ, ज़िप संग्रह पर अनुमतियाँ अलग हैं। निहित अनुमतियाँ बनी हुई हैं, लेकिन स्पष्ट नहीं बनाई गई हैं।
रिच एम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.