मैं Mojave में उपयोगकर्ता फ़ाइलों के लिए रूट एक्सेस कैसे दे सकता हूं?


4

मैंने अपना लैपटॉप Mojave में अपग्रेड किया। वर्षों से, मेरी बैकअप रणनीति में फ़ाइल सर्वर पर फ़ाइलों को कॉपी करने के लिए rsync (MacPorts rsync 3.1.3) का उपयोग करना शामिल है। इसने ठीक से काम करना बंद कर दिया, अब कुछ त्रुटियों को दिखा रहा है opendirऔर get_xattr_dataविशेष रूप से कुछ ~/Libraryफ़ोल्डरों के साथ अनुमति समस्याओं का संकेत दे रहा है ।

मैं अंदर स्थित एक स्क्रिप्ट के अंदर launchdचलने के लिए उपयोग करता हूं ।rsync/usr/local/bin

मेरी समस्या निवारण के हिस्से के रूप में, मैं में चला गया Terminalऔर su'रूट में d। फिर cdमेरे उपयोगकर्ता के लिए ~/Libraryऔर कुछ फ़ोल्डरों में परीक्षण का उपयोग किया। सिस्टम ने सूचना दी permission denied

सुरक्षा और गोपनीयता के माध्यम से, मैंने rsyncपूर्ण डिस्क एक्सेस दिया , लेकिन इससे समस्या हल नहीं हुई।

मैं मान रहा हूँ कि यह Mojave की सुरक्षा या गोपनीयता सेटिंग्स के परिणामस्वरूप एक समस्या है क्योंकि मैंने कभी भी rootफाइलों की अनुमति नहीं देखी है । अपनी बैकअप प्रक्रियाओं को फिर से शुरू करने के लिए, मुझे फ़ाइलों तक पहुंचने में सक्षम होने के लिए रूट / लॉन्चक्टल की आवश्यकता है।

Mojave में क्या बदलाव आया है जो rootपहुंच को सीमित कर रहा है ? मैं इस सीमा को कैसे कम करूं क्योंकि यह संबंधित है rsync?


संभव डुप्लिकेट सुरक्षा और गोपनीयता में सेटिंग्स को समायोजित करने की आवश्यकता की पुष्टि करता प्रतीत होता है, लेकिन अभी तक जोड़ने Terminalऔर rsyncअनुमत एप्लिकेशन की सूची में बैकअप को सफल होने की अनुमति नहीं देता है। मैं उस स्क्रिप्ट को जोड़ने के लिए काम कर रहा हूं जिसका उपयोग मैं बैकअप चलाने के लिए करता हूं, और जब मैं उस परीक्षण को प्राप्त कर लूंगा तो अपने प्रश्न को समायोजित करूंगा।



अभी तक डुप्लिकेट नहीं दिखाई देता है, लेकिन यह पुष्टि करता है कि मैं सुरक्षा और गोपनीयता के तहत सेटिंग्स के बारे में सही रास्ते पर हो सकता हूं। मैंने टर्मिनल जोड़ने की कोशिश की, और जबकि वह rootअनुमति देता है, यह rsyncमुद्दे के भाग (जो एक स्क्रिप्ट से चलाया जाता है) को संबोधित नहीं करता है । मैं यह पता लगाने की कोशिश कर रहा हूं कि सुरक्षा और गोपनीयता सेटिंग्स में कस्टम स्क्रिप्ट कैसे जोड़ें।
टिमरहोर

क्या आप स्क्रिप्ट को मैन्युअल रूप से चला रहे हैं या कुछ और इसे क्रोन या लॉन्च के रूप में चला रहे हैं?
जेबीस

जैसा कि (जैसा) लॉन्च के ऊपर बताया गया है। मैं इसे स्पष्ट करने के लिए प्रश्न को संपादित करूंगा।
टिमरोहेर ऑक्ट

1
~ / लाइब्रेरी के भीतर कौन सी विशिष्ट निर्देशिका आप एक्सेस नहीं कर सकते हैं?
nohillside

जवाबों:


6

कुछ अन्य स्थानों के बीच इस पोस्ट में दस्तावेज के रूप में , MacOS Mojave अतिरिक्त सुरक्षा प्रोटोकॉल को लागू करता है जो यहां तक ​​कि root'sउपयोगकर्ता डेटा तक पहुंच को प्रभावित करता है।

लिंक किए गए प्रश्न में समाधान मूल समस्या प्रदान करता है जिसका उपयोग मैंने अपने मुद्दे को हल करने के लिए किया था।

कस्टम-निर्मित स्क्रिप्ट के लिए launchd, जो कंप्यूटर के व्यवस्थापक के माध्यम से चलेगा , जिस पर स्क्रिप्ट को चलाना है, उस स्क्रिप्ट को Security & Privacyउपयोगकर्ता डेटा तक पहुंचने के लिए उस "एप्लिकेशन" को अनुमति देने के लिए जोड़ना होगा ।

इसमें ( या मेरे मामले में) जोड़ना आवश्यक नहीं था ।launchdrsyncSecurity & Privacy

यदि टर्मिनल के माध्यम से ऐसा करने का कोई तरीका है, तो मैंने शोध नहीं किया है, जो लगता है कि बड़ी संख्या में ग्राहकों को प्रशासित करने के लिए आवश्यक होगा।

========

अपडेट: मैंने यह भी सीखा है कि यदि आप एक स्क्रिप्ट जोड़ते हैं, और आप बाद में उस स्क्रिप्ट में बदलाव करते हैं, तो आपको इसे Security & Privacy-> से हटाना होगा Full Disk Access, फिर इसे जोड़ना होगा। शायद macOS एक हैश बनाता है जिसे चेक किया जाता है?


2
मैं केवल इसे खोजक से खींचकर स्क्रिप्ट जोड़ सकता था। + बटन का उपयोग करते समय यह चयन करने योग्य नहीं था।
cmcginty

यह शायद सबसे सरल तरीका है।
टिमरोहेर

मैंने फुल डिस्क एक्सेस में एक शेल स्क्रिप्ट जोड़ा और यह काम नहीं किया।
tmm1

2

आपकी समस्या का जवाब नहीं, लेकिन यह बहुत समान / संबंधित है ...

जब एक शेल स्क्रिप्ट लिखी जाती है cron, rsyncजो किसी अन्य सर्वर पर आपकी फ़ाइलों का बैकअप लेने के लिए स्क्रिप्ट में उपयोग होती है।

आप देखेंगे कि "Full Disk Access" में "Terminal.app" जोड़ने से काम नहीं चलता है, क्योंकि cron"Terminal.app" का उपयोग नहीं करता है।

आप rsyncप्रोग्राम में "फुल डिस्क एक्सेस" तक पहुँच प्रदान कर सकते हैं , और यह कुछ अनुमति समस्याओं को हल करता है, लेकिन यदि आपको निम्न की आवश्यकता है तो यह पर्याप्त नहीं है:

~ / चित्र / तस्वीरें Library.photoslibrary ~ / पुस्तकालय / अनुप्रयोग समर्थन / पता पुस्तिका

इसके बजाय, आपको cron"सिस्टम वरीयताएँ> सुरक्षा और गोपनीयता> पूर्ण डिस्क एक्सेस" को जोड़ना चाहिए ।

मैंने इसे चलाकर किया open /usr/bin/, जिसने एक खोजक विंडो खोली जिसने मुझे cronप्रोग्राम को "पूर्ण डिस्क एक्सेस" सूची में आसानी से खींचने / छोड़ने की अनुमति दी ।

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