2012-01-19 11 views
7

मैंने कुछ खोदने और मुख्य विचारों को मैंने चारों ओर तैरते हुए सेटुइड/गेटुइड का उपयोग कर उपयोग किया है और प्राधिकरण सेवाओं का उपयोग कर रहे हैं (जो, कुछ कारणों से मुझे संकलन करते समय प्रतीक त्रुटि देता है लेकिन प्रकट होता है अब बहिष्कृत किया जाएगा)।ऐप विशेषाधिकारों को बढ़ाएं प्रोग्रामेटिक ओएस एक्स

मेरे एप्लिकेशन को एक निश्चित बिंदु पर रूट पहुंच (कच्चे डिस्क ड्राइव तक पहुंचने के लिए) का अनुरोध करने में सक्षम होना चाहिए, अधिमानतः ओएस एक्स प्रमाणीकरण संवाद के साथ (मैं ओएस एक्स के लिए नया हूं इसलिए मुझे नहीं पता कि कॉल करना है उस)।

उत्तर

2

प्राधिकरण सेवाएं बहुत अच्छी तरह से समर्थित हैं, AFAIK।

Here's a link to a tutorial (with sample projects!) जिसका उपयोग आप एक छोटे से उपकरण को लॉन्च करने के लिए कर सकते हैं जिसमें आप व्यवस्थापक निजीकरण प्राप्त कर सकते हैं और फिर आप अपनी कॉलिंग प्रक्रिया (0 9 प्रलेखन) पर setpriority एपीआई को कॉल कर सकते हैं।

+0

धन्यवाद! किसी कारण से मुझे नहीं पता कि AuthorizationExecuteWithPrivileges को घोषित किया गया है जब मैं <सुरक्षा/प्रमाणीकरण.h शामिल करता हूं।> मेरे पास बहुत कुछ और के लिए प्रतीकों हैं, सिवाय इसके कि एक समारोह – Lander

+0

http://developer.apple.com/library/ मैक/# प्रलेखन/सुरक्षा/संदर्भ/प्रमाणीकरण_ref/संदर्भ/संदर्भ.html कहता है कि प्रमाणीकरण एक्सेक्यूटविथ प्राइवेटिलेज को 10.7 के बाद से हटा दिया गया है। http://stackoverflow.com/questions/6841937/authorizationexecutewithprivileges-is-deprecated में कुछ संबंधित जानकारी है। – Vishal

+0

Whooops ... 'AuthorizationExecuteWithPrivileges' 10.7 के रूप में" बहिष्कृत "हो गया। मैं ऐप्पल के [प्राधिकरण सेवा कार्य] देख रहा हूं (http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/03authtasks/authtasks.html#//apple_ref/doc/uid/TP30000995 -CH206-TP9) दस्तावेज यह देखने के लिए कि आप ['renice'] कैसे कर सकते हैं (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/renice.8.html) कॉलिंग प्रक्रिया। –