सवाल सूडो कमांड को निष्पादित करने में लंबा समय क्यों लगता है?


मैं पिछले कुछ महीनों में लिनक्स (फेडोरा 10, फिर 11) उठा रहा हूं (और इसे बहुत आनंद ले रहा हूं - यह फिर से कंप्यूटरों की खोज करने जैसा है, सीखने के लिए कई चीजें हैं)।

मैंने अपने उपयोगकर्ता को नीचे दिखाए गए / etc / sudoers फ़ाइल की अंतिम पंक्ति में जोड़ा है, ताकि जब मैं sudo कमांड निष्पादित करता हूं तो मुझे अपने पासवर्ड के लिए नहीं पूछा जाता है:

MyUserName ALL = (सभी) NOPASSWD: सभी

अब जब भी मैं सूडो का उपयोग करके कमांड निष्पादित करता हूं, तो यह वास्तव में कार्य (~ 10 सेकंड) करने से पहले एक उल्लेखनीय समय को रोक देता है। यह क्यों हो सकता है और मैं इसे कैसे ठीक कर सकता हूं? मैं फेडोरा 11 x86 64 पर सुडो संस्करण 1.7.1 चला रहा हूं।


61


मूल


तकनीकी रूप से यह एक स्क्रिप्ट को संपादित करने के रूप में गिना जाता है, है ना? एक स्क्रिप्ट एक कार्यक्रम नहीं है?
एनओपीएएसएसडब्ल्यूडी: सुरक्षा जोखिम माना जाता है और पहली जगह सूडो का उपयोग करने के उद्देश्य को हरा देता है।
मैं इसे खरीद सकता हूं, लेकिन समस्या अभी भी बनी हुई है कि इसमें इतनी देर क्यों लगती है।
इस मशीन को उपयोगकर्ताओं और प्रमाणीकरण कहां से मिलता है? एलडीएपी, शायद केर्बेरोज के साथ शायद? - wzzrd
के संभावित डुप्लिकेट हर बार जब मैं सूडो का उपयोग करता हूं तो इसे पूरा करने से पहले लटकता है - Harry Tsai


जवाब:


मैंने इस प्रश्न को एसओ पर पूछा और यह यहां चले गए। उस ने कहा कि अब मेरे पास इस सवाल को संपादित करने की क्षमता नहीं है जैसे कि मैंने इसका स्वामित्व किया है, या सही जवाब भी स्वीकार कर लिया है, लेकिन यह सही कारण साबित हुआ कि इसे क्यों हल किया जाए और कैसे हल किया जाए:

यहां मिला  वहां पर "रोंधंधु" उपयोगकर्ता सही उत्तर देता है:

ऐसा होता है यदि आप बदलते हैं   स्थापना प्रक्रिया के दौरान होस्टनाम।

समस्या को हल करने के लिए, फ़ाइल को संपादित करें   / Etc / hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 <ADD_YOURS_HERE> 
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <ADD_YOURS_HERE>

88



बिलकुल सही। कुछ हद तक आश्चर्य की बात है कि फेडोरा जैसे distros / etc / hosts संपादित नहीं करते हैं यदि आप अपना होस्टनाम इंस्टॉल समय पर बदलते हैं, लेकिन जो भी हो। यह आपके लिए खुला स्रोत है! - dimo414
यह मेरे धीमे सूडो उपयोग तय, धन्यवाद! मैंने / etc / hostname संपादित किया, और बस / etc / hosts फ़ाइल को संपादित करना भूल गया। - Joe
127.0.0.1 या :: 1 लाइन में अपना होस्टनाम जोड़ना कुछ सर्वर से संबंधित सॉफ़्टवेयर को सही होस्टनाम / आईपी / इंटरफ़ेस से बाध्यकारी होने का कारण बन सकता है। ऐसा एक उदाहरण क्लौडेरा प्रबंधक है, हैडऑप सेवाओं को गलत होस्टनाम और भ्रमित मुख्यमंत्री मिलते हैं क्योंकि वे सभी लोकहोस्ट को हल करते हैं। मैं एक संभावित समाधान के लिए नीचे दिए गए अन्य उत्तर पढ़ने का सुझाव देता हूं। यह एक स्टैंडअलोन वर्कस्टेशन के लिए मुद्दों का कारण बन सकता है या नहीं हो सकता है जिसमें इसके साथ कनेक्ट करने वाले कोई अन्य कंप्यूटर नहीं होंगे। - ddcruver
यह /etc/nsswitch.conf भी हो सकता है (इसी कारण से)। मेरा "मेजबान: डीएनएस फाइल" पर सेट किया गया था और इसलिए यह लंबे समय से DNS सर्वर पर मेरा होस्टनाम देख रहा था। मैंने इसे "होस्ट: फाइल डीएनएस" में बदल दिया और अब यह पहले / etc / hosts में दिखेगा। इस जवाब के लिए धन्यवाद, जिसने मुझे nsswitch.conf में देखने के लिए प्रेरित किया! - Alan Porter


जांचें कि आपका syslog डिमन ठीक से काम कर रहा है; इसने मेरे लिए मुद्दा पैदा किया।

निम्न आदेश चलाएं

logger 'Hello world'
  1. क्या आदेश उचित समय के भीतर वापस आता है?

  2. क्या 'हैलो वर्ल्ड' दिखता है /var/log/syslog?

यदि यह मामला नहीं है, तो syslog डिमन क्रैश हो गया है। इसे पुनरारंभ करना आपकी समस्या को ठीक करना चाहिए।


20



आश्चर्य की बात है कि यह मेरे लिए समस्या थी। ऐसा कौन सोच सकता था। मेरे लिए समाधान सिसलॉग को पुनरारंभ करना था। service rsyslog restart - MikeKulls
मुझे भी। service rsyslog restart मेरे धीमे सूडो आदेश तय किया। - Pedro Cordeiro
आश्चर्य की बात है कि यह मेरे लिए समस्या थी। इससे पहले, सर्वर के लिए पूरा अनुरोध इतना धीमा है। मैं सिर्फ जानना चाहता हूं क्यों? - michael wang


क्या नेटवर्क / माउंट पर पढ़ने वाली फ़ाइलों / निर्देशिकाओं में से एक है, या यह किसी धीमी यूएसबी डिवाइस से पढ़ने को ट्रिगर कर रहा है? स्ट्रेस आज़माएं और देखें कि यह कहां धीमा है; अगर यह बहुत तेजी से चला जाता है, तो करो

sudo strace -r -o trace.log sudo echo hi

प्रत्येक लाइन पिछले syscall में प्रवेश के बाद से लिया समय के साथ शुरू होगा।

(प्रारंभिक सूडो जरूरी प्रतीत होता है; मुझे नहीं पता कि इससे परिणाम कितना परेशान होगा।)


10



धन्यवाद। यह एचडीडी पर है, कोई यूएसबी या नेटवर्क ड्राइव नहीं है।
@ कुगा: और आपने स्ट्रेस से क्या सीखा?
@oligofren: आपको सूडो स्ट्रेस करने की ज़रूरत है - ysth


मैंने हाल ही में पाया कि मुझे एक ही समस्या थी। कोई सूडो देरी नहीं हुई थी और फिर अचानक, 10-20 सेकंड की देरी के बारे में। मैंने विशिष्ट समस्या का उपयोग करके निर्धारित किया:

 1. chmod u+s /usr/sbin/strace  (as the root user)

अपने आप के रूप में:

 1. sudo -K
 2. strace sudo /bin/tcsh

और फिर यह पता लगाएं कि सिस्टम कॉल कहां लटक रही है।

मेरे मामले में, मैंने पाया कि यह एक DNS अनुवाद पर लटक रहा था, जाहिर है मेरी सूची में DNSen में से एक /etc/resolv.conf बहुत ख़राब था या खराब हो गया था। तो मैंने संकल्प आदेश बदल दिया और पीओफ चीजें जल्दी से काम किया।


7





मुझे फेडोरा के बारे में निश्चित नहीं है, लेकिन मैंने अन्य प्रणालियों का उपयोग किया है जहां सुडो जांच करेगा जहां से आप लॉग इन हैं, यदि आपका DNS अच्छी तरह से स्थापित नहीं है तो उम्र ले सकता है टाइमआउट करने के लिए। यह भी देखा जा सकता है जब मशीन में एसएसएचइंग - यह लेता है एक संकेत के साथ आने के लिए उम्र।


5





मुझे एक ही समस्या थी, मैंने त्रुटियों के लिए /var/log/auth.log और syslog की जांच की। यह पता चला है कि मेरा एलडीएपी सर्वर नहीं पहुंचा जा सका और यह सब कुछ धीमा कर दिया।

मैंने अब एलडीएपी आधारित ऑथ का उपयोग नहीं किया है, इसलिए मैंने /etc/nsswitch.conf से सभी "ldap" संदर्भ हटा दिए

तब से सब कुछ एक आकर्षण की तरह काम करता है।


4



आप पांच साल के प्रश्न के लिए स्पष्ट रूप से असंबंधित उत्तर क्यों पोस्ट करते हैं (ओपी ने एलडीएपी का उपयोग नहीं किया)? - Sven♦
क्योंकि यह किसी की मदद कर सकता है। मैंने यहां उल्लिखित सभी चीजों की जांच की, लेकिन कुछ भी मदद नहीं की। किसी और को धीमे और उत्तरदायी सूडो कमांड के अंतर्निहित कारण के रूप में कोई एलडीएपी कनेक्शन समस्या है या नहीं, यह जांच कर मेरे उत्तर के साथ सही दिशा में ध्यान केंद्रित करने में ध्यान केंद्रित किया जा सकता है। यह DNS से ​​संबंधित उत्तरों के रूप में प्रासंगिक है कि कवर के पीछे कुछ ऐसा गलती है जो उपयोगकर्ता को सीधे दिखाई नहीं दे रहा है। मैं इस साइट को ज्ञान के सामान्य स्रोत के रूप में मानता हूं न कि वेबसाइट के एक प्रश्न / उत्तर प्रकार के रूप में। यह प्रासंगिक ज्ञान एकत्र करने के बारे में है। - Sakuraba
नीले नरक में भी आप मेरी मदद को बदनाम करने के लिए हैं। यह साइट काम करती है क्योंकि ज्ञान साझा करना प्रोत्साहित किया जाता है, न कि क्योंकि लोग कम हो जाते हैं। यदि आप इसे पसंद नहीं करते हैं, तो आप इसे अनदेखा करने के हकदार हैं। - Sakuraba


मामले में, यह होस्टनाम पाया जाता है (जिसे कॉन्फ़िगर किया गया था /etc/sysconfig/ नेटवर्क) में मौजूद नहीं है /etc/hosts फ़ाइल; इसलिए उपर्युक्त फ़ाइल में जोड़ने पर, फ़ाइल तुरंत खुलती है।


4





मुझे एक ही समस्या थी, मैंने मेजबाननाम (उदा। Mybox) और होस्टनाम कमांड (mybox.mydomain.com) का पूरा आउटपुट दोनों रखकर इसे ठीक किया। इसे अभी मंजूरी दे दो. तत्काल पहुंच के लिए 2 मिनट से खोलने / etc / hosts तक चला गया।


3





नमूना को देखने से sudoers मेरे पास फ़ाइल है, मुझे विश्वास है कि इसके बाद एक जगह माना जाता है NOPASSWD: बिट।


1



मैंने एक जगह जोड़ा, लेकिन यह अभी भी अंतराल है। सुझाव के लिए Thx।