कैसे एक निर्देशिका के मालिक को बदलने के लिए


14

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नेटवर्क ड्राइव पर एक डिस्क छवि है जो प्रासंगिक है? मैंने मान लिया कि यह किसी भी बाहरी ड्राइव के समान होगा।


किस तरह का नेटवर्क ड्राइव? यदि यह एनएफएस है, तो यह एक अच्छा मौका है जो इसे root_squashसक्षम के साथ निर्यात किया जाता है , इसलिए आप chownक्लाइंट से केवल-रूट संचालन करने में सक्षम नहीं होंगे ।
टोबे स्पाइट

यह एक Apple टाइम कैप्सूल के अंदर HDD है। अनिवार्य रूप से यह वाईफाई बेस स्टेशन के अंदर एक पासवर्ड से सुरक्षित डिस्क है। अंतर केवल इतना है कि एचडीडी ईथरनेट के माध्यम से आपके कंप्यूटर से जुड़ा होता है। वास्तव में एक USB पोर्ट है, लेकिन मैंने इसका उपयोग कभी नहीं किया है।
आर्क

अन्यथा, मानक find . -user $other_uid -print0 | sudo xargs chown $USERको काम करना चाहिए।
टोबे स्पाइट

क्या नेटवर्क फाइलसिस्टम? df -hT <dirname>आपको बताना चाहिए।
टोबे स्पाइट

@TobySpeight के लिए कोई आउटपुट नहींdf -hT <dir> देता है) नेटवर्क की मूल निर्देशिका एचडीडी बी) नेटवर्क के अंदर डिस्क छवि एचडीडी सी) नेटवर्क एचडीडी पर कोई भी फ़ोल्डर। शायद आपके द्वारा किया गया व्यवहार मैक और लिनक्स पर अलग तरह से लागू किया गया है?
Arc676

जवाबों:


23

मुझे गलतफहमी हो सकती है। लेकिन आप बार-बार chmod और chown उदा जैसे प्रयोग कर सकते हैं।

chown -R username:username /path/directory

अनुमति देने के लिए 700 का उपयोग कर सकते हैं:

chmod -r 700 /path/directory

निश्चित रूप से उपरोक्त लिनक्स के लिए है, इसलिए सुनिश्चित नहीं है कि मैक ओएसएक्स समान है या नहीं।

संपादित करें: हाँ क्षमा करना भूल गया कि आपको किसी चीज को जड़ देने की आवश्यकता है, मुझे लगता है कि आप यह जानते हैं ... मेरा बुरा।


1
मैक ओएस एक ही सिंटैक्स का उपयोग करता है। कमांड को रूट के रूप में निष्पादित करने के लिए, मैक पर सबसे आसान तरीका इसके साथ उपसर्ग करना है sudo, इसलिए sudo chmod(आपको व्यवस्थापक पासवर्ड के साथ पासवर्ड के लिए कहा जाएगा)।
mjturner

2

जड़ के रूप में प्रयास करें

 find wherever -type d -name ... -exec chown Me {} \;

कहाँ पे

  • -type d केवल dir पर लागू करें
  • -name ... आपका regexp
  • -exec chown Me {} \; का उपयोग करें चिर पर खोज dir।

तुम्हें जड़ होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.