क्या एक डेस्कटॉप-तटस्थ gksudo है?


17

विभिन्न डेस्कटॉप के लिए विभिन्न उपकरण हैं जो मूल के रूप में एक ग्राफिकल एप्लिकेशन को चलाने का लक्ष्य रखते हैं। gksudo, kdesudo, empower, आदि ...

लेकिन क्या होगा अगर मैं एक स्क्रिप्ट लिख रहा हूं जिसका उपयोग किसी भी लिनक्स डेस्कटॉप पर किया जा सकता है? वहाँ xdg-sudoकिसी तरह का है ..? डेस्कटॉप वातावरण में सुडो एक्सेस प्राप्त करने के लिए एक मानक?

जवाबों:


16

@Tachyons सुझाव के बाद, मैंने एक बहुत के बारे में शोध किया pkexecऔर यह बहुत बढ़िया है !

  • यह पॉलिसीकीट का हिस्सा है एक व्यापक रूप से इस्तेमाल किए जाने वाले पैकेज, ।
  • Hosted और freedesktop.org द्वारा प्रायोजित
  • गनोम , यूनिटी , मेट , दालचीनी , केडीई , एलएक्सडीई और एक्सएफसीई , और संभवतः अन्य में डिफ़ॉल्ट
  • डी-बस के माध्यम से काम करता है, इसलिए यह अच्छी तरह से परिभाषित प्रोटोकॉल के साथ पूरी तरह से डेस्कटॉप-तटस्थ है।
  • कई DE में इसका उपयोग लॉगिन स्क्रीन, शटडाउन / रिस्टार्ट, डिस्क मैनेजमेंट (udisks / automount) और इसी तरह की कई सेवाओं में किया जाता है

तो हाँ, यह सभी आवश्यकताओं को पूरा करता है, और मुझे लगता है कि यह निकटतम चीज है "सार्वभौमिक गक्सूडो" हो सकती है।

उस ने कहा, pkexecपॉलिसीकिट के लिए कमांड-लाइन फ्रंट-एंड है। ऑपरेशन के 2 मूल तरीके हैं:

  • बस इसे अपने साथ रखें sudo, और आपको एक अच्छा GUI संकेत मिलता है:

    $ pkexec rm -rf /

pkexec GUI प्रॉम्प्ट

  • या आपके लिए एप्लिकेशन के लिए एक पॉलिसीकीट प्राधिकरण फ़ाइल बनाएं, इसे ड्रॉप करें /usr/share/polkit-1/rules.d, और यह कस्टमाइज़ेशन और सुरक्षा-संबंधित विकल्पों का एक बड़ा सौदा करने की अनुमति देगा, उदाहरण के लिए केवल कुछ कार्यों के लिए रूट एक्सेस, दूसरों के लिए पासवर्ड की कोई आवश्यकता नहीं, कुछ रास्तों तक सीमित पहुंच , आदि तुम अद्भुत बारीकियों के साथ अपनी सेटिंग्स को ठीक कर सकते हैं।

6

एक अधिक सामान्य तरीका "हेल्पर प्रोग्राम" लिखना होगा। ऐसा कार्यक्रम उपयोगकर्ता को पासवर्ड के लिए संकेत देगा; यदि आपको यकीन है कि, कहते हैं, ज़ेनिटी, स्थापित है, तो आप इसका उपयोग कर सकते हैं, अन्यथा आपको पायथन में सहायक कार्यक्रम या कुछ और लिखना होगा जो जीयूआई के साथ बातचीत कर सकता है।

("आस्कपास") और ( स्टडिन ) विकल्पों के sudoलिए मैनुअल पढ़ें ।-A-S

और याद रखें कि जब आप sudoअपनी स्क्रिप्ट से चलते हैं , तो आपको -Hअनुकरण करने के लिए (घर) विकल्प की आवश्यकता होती है gksudo

यह विधि अच्छी तरह से काम करती है, लेकिन आपको यह सुनिश्चित करने के लिए सहायक कार्यक्रम का पूरी तरह से परीक्षण करने की आवश्यकता है कि यह बग रहित है।


1
आपको अपने प्रोग्राम में गुजर रहे xauth टोकन को भी संभालने की आवश्यकता है - जो कि तुच्छ नहीं है।
13

4

नहीं, रूट (या किसी अन्य उपयोगकर्ता) के विशेषाधिकार प्राप्त करने का कोई मानक तरीका नहीं है।

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

सबसे सामान्य प्रमाणीकरण प्रणालियों का उपयोग करने के लिए कुछ सुझाव देना, जैसे कि su, sudo और ConsoleKit, अच्छा होगा।


2009 की शुरुआत के लिए सही है, लेकिन शुक्र है कि अब polkit(औपचारिक रूप से PolicyKit) व्यापक रूप से एक मानक माना जाता है।
MestreLion
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.