EDIT : समस्या यह थी कि Apple बैकअप को चिह्नित करने के लिए अनुमतियों का उपयोग करता है और आपको उन्हें संशोधित करने से रोकता है (शायद एक सुरक्षा सुविधा)। उपयोग करके chmod -RN <dir>मैंने महत्वपूर्ण डेटा वाले सभी फ़ोल्डरों से एसीएल डेटा हटा दिया और इससे मुझे खुद को मालिक बनाने और उपयुक्त अनुमतियों को लागू करने की अनुमति मिली।
मूल प्रश्न
मेरे पास एक बहुत बड़ा बैकअप है (> 700GB) जो अब गलत अनुमतियाँ हैं (मेरा UID क्लीन इंस्टाल, लंबी कहानी के दौरान बदल गया है) और मुझे उन्हें बदलने की आवश्यकता है। समय लेने वाला विकल्प मैन्युअल रूप से प्रत्येक फ़ोल्डर के माध्यम से जाना है और अनुमतियों को बदलना है लेकिन यह उम्र ले जाएगा।
मैं chownअपने आप को अपने सभी महत्वपूर्ण डेटा का स्वामी बनाने के लिए उपयोग करना चाहता हूं और फिर chmod 700उन सभी फ़ोल्डरों rwxपर केवल मुझे अनुमति देने के लिए उपयोग करना चाहता हूं।
आदर्श समाधान findएक regex (मेरे वर्तमान एक है .*/[DCV].*|Pictures|M[ou].*) से मेल खाने वाले फ़ोल्डरों के लिए पुनरावर्ती रूप से देखने के लिए उपयोग करने की कुछ विधि है और फिर मेरे यूआईडी को मालिक बनाते हैं और अनुमतियों को 700 पर सेट करते हैं।
महत्वपूर्ण बिट जिसे मैं समझ नहीं सकता:
हालांकि, जब मैं चलाने की कोशिश करता chown Me DirectoryNameहूं तो मुझे मिलता है chown: DirectoryName: Operation not permitted।
मुझे जो कुछ भी मिला है वह फ़ाइल की अनुमतियों को बदलने से संबंधित है न कि किसी निर्देशिका की। शायद मैं इसे गलत तरीके से देख रहा हूं?
कुछ मुझे बताता है कि मेरे यूआईडी rwxऔर ---बाकी सभी को देने का कोई तरीका नहीं है।
इसे कैसे प्राप्त किया जा सकता है? मैं Mac OS X 10.10.3 चला रहा हूं।
मुझे पता है कि यह एक यूनिक्स / लिनक्स मंच (और मैं मैक चल रहा हूँ) है, लेकिन इस सवाल का खोल, उपयोग के बारे में एक बहुत अधिक है chown, chmodऔर अनुमतियों और किसी भी समाधान यहां पोस्ट किसी भी यूनिक्स आधारित OS के लिए लागू किया जाएगा। यह बेहतर होगा यदि पोस्ट किए गए समाधान मेरे पुराने बैकअप को टाइम मशीन में फिर से प्रकट करेंगे।
उन सभी के लिए धन्यवाद, जिन्होंने तुरंत उत्तर दिया है, लेकिन chownबस किसी कारण के लिए निर्देशिकाओं पर काम नहीं करते हैं। क्या यह तथ्य है कि यह .sparsebundleनेटवर्क ड्राइव पर एक डिस्क छवि है जो प्रासंगिक है? मैंने मान लिया कि यह किसी भी बाहरी ड्राइव के समान होगा।
find . -user $other_uid -print0 | sudo xargs chown $USERको काम करना चाहिए।
df -hT <dirname>आपको बताना चाहिए।
df -hT <dir> देता है) नेटवर्क की मूल निर्देशिका एचडीडी बी) नेटवर्क के अंदर डिस्क छवि एचडीडी सी) नेटवर्क एचडीडी पर कोई भी फ़ोल्डर। शायद आपके द्वारा किया गया व्यवहार मैक और लिनक्स पर अलग तरह से लागू किया गया है?
root_squashसक्षम के साथ निर्यात किया जाता है , इसलिए आपchownक्लाइंट से केवल-रूट संचालन करने में सक्षम नहीं होंगे ।