सुडो बनाम गस्कूडो। अंतर?


37

क्या अंतर है sudoऔर gksudo?


1
अच्छा प्रश्न। अब मैं लिनक्स सीख रहा हूं (आप देख सकते हैं कि मैंने अपना कीबोर्ड लेआउट अभी तक नहीं देखा है) हाहा!
21

जवाबों:


27

sudoकमांड लाइन पर पासवर्ड के लिए पूछता है, और gksudoइसके लिए एक संवाद बॉक्स पॉप अप करता है।


6
gksu (do) का भी अपना स्वयं का विन्यास है, जो पर्यावरण के चर को बच्चे से गुजरने के लिए, su (do) के स्वयं से अलग करता है। उदाहरण के लिए, यदि आपके sudoers config निर्दिष्ट करता है! Keep_env, $ DISPLAY की कमी ग्राफ़िकल एप्लिकेशन को चलने से रोक सकती है, लेकिन gksudo को काम करना चाहिए। आप git.debian.org/?p=users/kov/gksu-polkit.git=a=blob;f=common/… या live.gnome.org/gksu पर कुछ विवरण प्राप्त कर सकते हैं ।
केमिस्ट्री

@ephemient तो ग्राफिकल प्रॉम्प्ट के अलावा, के sudo -Eबराबर है gksudo?
isomorphismes

3
नीचे इस सवाल का जवाब कहीं बेहतर लगता है superuser.com/a/726249/112542
जॉनी क्यों

4
मैं इस बात पर जोर देना चाहता हूं कि यह बिल्कुल महत्वपूर्ण अंतर नहीं है, और यह जवाब न्यूबाय के लिए काफी भ्रामक है। प्रमुख अंतर यहां बताया गया है: askubuntu.com/a/11766/81034 और नीचे दिया गया जवाब (जो @johnywhy से जुड़ा हुआ है) इससे परे एक कदम आगे बढ़ता है कि इसमें कुछ बारीकियों को जोड़ा जा सके। कृपया इस भ्रामक उत्तर पर भरोसा करने के बजाय अस्क्यूबंटू प्रश्न पढ़ें।
सूंदर -

31

gksudoएक GTK- आधारित सीमांत है sudo(BTW, kdesudoएक Qt- आधारित फ़्रंट है), हालाँकि यह (डिफ़ॉल्ट रूप से) अधिक पर्यावरणीय चर ( , इत्यादि) को संभालता है HOME, इस प्रकार रूट कमांड को रूट सुरक्षित बनाता है।XAUTHORITYsudo


जहाँ तक मैं देख सकता हूँ केवल @ लॉजिक्स का उत्तर पर्याप्त है (@Ignacio Vazquez-Abrams's पूरा नहीं हुआ है)। यहाँ @Davros @knitti उत्तर / टिप्पणियों के लिए स्पष्टीकरण से बचने की कोशिश करें (कृपया इसे हटा दें / संपादित करें जब इसकी आवश्यकता न हो):

  1. हालांकि दोनों कमांड वास्तव में प्रतिनिधित्व करते हैं sudo, लेकिन यूआई का इस्तेमाल केवल दो कमांड का अंतर नहीं है।
  2. GUI प्रोग्राम चलाना केवल एक ही स्थिति नहीं है जब आपको gk / kdesudo का उपयोग करना चाहिए, इसके बजाय आपको gk / kdesudo का उपयोग करना चाहिए जब भी आप यह निर्धारित नहीं कर सकते कि क्या कमांड आपके होम डायरेक्टरी में फाइल बनाएगी / लिखेगी (जो HOMEपर्यावरण चर अंक में है) sudoकुछ सिस्टम और स्थितियों में कमांड)। सभी GUI ऐप्स आपके होम डायरेक्टरी को नहीं लिखते हैं और सभी CLI ऐप्स नहीं करते हैं , इसलिए कमांड का प्रकार प्रमुख बिंदु नहीं है।
  3. आप अभी भी कर सकते हैं का उपयोग sudoरूट के रूप में (एक उदाहरण के रूप ऐप्स 'कंसोल आउटपुट देखने के लिए) लांच जीयूआई क्षुधा को आदेश, फिर भी आप संभाल करने की जरूरत है HOME(और इस तरह के रूप में दूसरों XAUTHORITY, DISPLAY, इनपुट विधि से संबंधित सामान, आदि) पर्यावरण वेरिएबल ठीक से तो लॉन्च किया गया ऐप विफल नहीं होगा, कार्यक्षमता खो देगा या वास्तव में खराब सामान कर सकता है। उपयोग करने के लिए मेरी वर्तमान अनुशंसा निम्न हैsudo
    • sudo -H <rest of the command>
      • ( sudoअनुभाग 8 मैनुअल पेज से) -H ( HOME )विकल्प अनुरोध करता है कि सुरक्षा नीति HOMEपर्यावरण डेटाबेस को लक्ष्य उपयोगकर्ता की होम निर्देशिका (डिफ़ॉल्ट रूप से रूट) पर सेट करें जैसा कि पासवर्ड डेटाबेस द्वारा निर्दिष्ट किया गया है। नीति के आधार पर, यह डिफ़ॉल्ट व्यवहार हो सकता है।
      • यह कम से कम sudoकॉलर के होम डायरेक्टरी में बनाई जा रही फाइलों को रोकना चाहिए
    • sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
      • इसे <GUI प्रोग्राम> को TTY टर्मिनल में निष्पादित किया जाना चाहिए और आपके डेस्कटॉप वातावरण में प्रदर्शित होना चाहिए
  4. sudoकमांड का व्यवहार सभी प्रणालियों पर समान नहीं है और इसे visudoकमांड के माध्यम से कॉन्फ़िगर किया जा सकता है , कृपया sudoers(5)अधिक जानकारी के लिए मैनपेज देखें।

2
सभी मत प्राप्त करने वाले की तुलना में बहुत बेहतर व्याख्या करते हैं। अधिक गहन, अधिक सही। यहां तक ​​कि ओपी ने जवाब दिया "क्या यह सब है?" जवाब मिला कि सभी वोट मिले।
जॉनी क्यों

2

ग्राफिकल कार्यक्रमों को चलाने के लिए नियमित रूप से सूडो का उपयोग करना कुछ अवसरों पर दुर्लभ अनुमति को गड़बड़ कर देगा। एक जीयूआई के साथ चलने वाले कार्यक्रमों के लिए सुरक्षित gksudo (या उपयुक्त के रूप में kdesudo) का उपयोग किया जाना चाहिए। मुझे लगता है कि यह वास्तव में एक बग है, हालांकि मैंने स्पष्टीकरणों को सुना है कि gksudo एक्स सर्वर चर समझता है और sudo संभवतः समस्याओं के लिए अग्रणी नहीं है। बस एक टिप के रूप में; यदि आप ग्राफ़िकल प्रोग्राम्स को रूट के रूप में चला रहे हैं, तो प्रत्येक प्रोग्राम जिसे आप चलाना चाहते हैं, के लिए एक टर्मिनल खोलने के बजाय, ALT-F2 (एक ही समय में Alt और फ़ंक्शन कुंजी 2) टाइप करें, फिर डायलॉग बॉक्स में टाइप करें जो "gksudo" पॉप अप करता है प्रोग्राम "उद्धरण और प्रोग्राम के बिना जिसे आप चलाना चाहते हैं एप्लिकेशन द्वारा प्रतिस्थापित किया गया है।


2

sudo ऊंचे विशेषाधिकारों के साथ वर्तमान उपयोगकर्ता के रूप में चलता है। इसमें ग्राफ़िकल ऐप्स चलाते समय कुछ उपयोगकर्ता कॉन्फ़िगर फ़ाइलों (आपके ग्राफ़िकल वातावरण से संबंधित) की फ़ाइल अनुमतियों को बदलने की क्षमता है। इन ऐप को फिर से सुडो के बिना चलाने पर आपको त्रुटियां हो सकती हैं।

gksudo (KDE के तहत kdesudo) ऐप्स को रूट उपयोगकर्ता के रूप में चलाता है, इस प्रकार छुआ गया कोई भी फ़ाइल अनुमतियाँ रूट की फ़ाइलों पर होती हैं, न कि उपयोगकर्ताओं की फ़ाइलों पर। इन ऐप्स को बिना gksudo / kdesudo के फिर से चलाने से हमेशा अपेक्षित व्यवहार होगा।


0

वर्तमान उत्तर गलत है। उबंटू रूटसुडिक विकि के अनुसार :

"आलेखीय अनुप्रयोगों को रूट के रूप में शुरू करने के लिए आपको कभी भी सामान्य sudo का उपयोग नहीं करना चाहिए। आपको ऐसे प्रोग्राम चलाने के लिए gksudo (Kubuntu पर kdesudo) का उपयोग करना चाहिए। gksudo होम = ~ रूट, और प्रतियाँ सेट करता है। एक tmp निर्देशिका के लिए .Xauthority। यह आपके घर में फ़ाइलों को रोकता है। निर्देशिका रूट के स्वामित्व में हो रही है। (AFAICT, यह सब कुछ gksudo - sudo के साथ शुरू की गई प्रक्रिया के वातावरण के बारे में विशेष है।)


2
चार अन्य उत्तर हैं; कौन सा गलत है? क्या आपका जवाब अनिवार्य रूप से दावोस के समान नहीं है?
फिक्सर 1234

मैं सही के रूप में चिह्नित उत्तर की बात कर रहा था। हां, दावोस वही बात कह रहे हैं, लेकिन मैंने इसे इसलिए जोड़ा क्योंकि उनके पास किसी स्रोत का लिंक नहीं था।
यूजीन 1832

1
एक बेहतर समाधान यह होगा कि आप उस उत्तर को संपादित करें। उत्तर में सुधार करने की संभावना स्वीकार की जाती है (+2 प्रतिनिधि), जबकि अनिवार्य रूप से एक उत्तर को दोहराते हुए डाउनवोट को आकर्षित करने की संभावना है।
फिक्सर 1234
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.