कब तक sudo कैश के साथ कमांड निष्पादित करने के लिए पासवर्ड है?


23

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


1
बस फ़िजी, आप का उपयोग कर समाप्ति का विस्तार करने के लिए संकेत कर सकते हैं sudo -v। यह स्क्रिप्ट के शीर्ष पर रखने के लिए बहुत अच्छा है जो सूडो कमांड चलाते हैं ताकि आपको शुरुआत में पासवर्ड के लिए कहा जाए।
वलबाका

नोट sudo वास्तव में पासवर्ड को कैश नहीं करता है। सूडो को वास्तव में अपना काम करने के लिए एक पासवर्ड की आवश्यकता नहीं है, यह केवल इतना पूछता है कि उपयोगकर्ता सत्यापित करें कि दिए गए कमांड को चलाने की अनुमति है। मूल रूप से यह उपयोगकर्ताओं को एक अवधि (विशेष "टाइमस्टैम्प" के रूप में, शीर्ष उत्तर देखें) के लिए क्रेडेंशियल्स को कैश करता है, जिसके दौरान उपयोगकर्ता को स्वयं को फिर से सत्यापित करने की आवश्यकता नहीं होती है। पासवर्ड स्वयं कैश नहीं किया जाता है (संग्रहीत), एक वेब ब्राउज़र या एन्क्रिप्शन कुंजी के विपरीत।
एंथनी

जवाबों:


20

man 5 sudoersहमें सूचित करता है कि एक विकल्प है timestamp_timeout:

timestamp_timeout

सूडो से पहले बीतने वाले मिनटों की संख्या फिर से एक पासवार्ड मांगेगी। टाइमआउट में एक भिन्नात्मक घटक शामिल हो सकता है यदि मिनट ग्रैन्युलैरिटी अपर्याप्त है, उदाहरण के लिए 2.5। डिफ़ॉल्ट है 5. पासवर्ड के लिए हमेशा संकेत देने के लिए इसे 0 पर सेट करें। यदि 0 से कम मान पर सेट किया जाता है तो उपयोगकर्ता की समय सीमा कभी समाप्त नहीं होगी। इसका उपयोग उपयोगकर्ताओं को क्रमशः "sudo -v" और "sudo -k" के माध्यम से अपने स्वयं के समय टिकट बनाने या हटाने की अनुमति देने के लिए किया जा सकता है।

तो हां, इसे माध्यम से कॉन्फ़िगर किया जा सकता है /etc/sudoers, और डिफ़ॉल्ट रूप से यह 5 मिनट के बाद समाप्त हो जाता है।


4
और आप जानते हैं, कॉन्फ़िगरेशन visudoको संपादित करने के लिए उपयोग करें sudo, /etc/sudoersसीधे संपादित न करें ।
कार्लोस कैंपड्रेस

2
@ कार्लोसकंपडरो: सच है कि। और (जहां संभव हो) हमेशा सुरक्षित पक्ष पर होने के लिए एक और रूट खोल खुला रखें। :)
उलरिच श्वार्ज

7

जो आपके कॉन्फ़िगरेशन पर निर्भर करता है। अधिकांश वितरण (और स्रोत में) पर डिफ़ॉल्ट 5 मिनट है, लेकिन आप इसे timestamp_timeoutविकल्प में बदल सकते हैं /etc/sudoers। से man sudoers:

सूडो से पहले बीतने वाले मिनटों की संख्या फिर से एक पासवार्ड मांगेगी। टाइमआउट में एक भिन्नात्मक घटक शामिल हो सकता है यदि मिनट ग्रैन्युलैरिटी अपर्याप्त है, उदाहरण के लिए 2.5। डिफ़ॉल्ट है 5. पासवर्ड के लिए हमेशा संकेत देने के लिए इसे 0 पर सेट करें। यदि 0 से कम मान पर सेट किया जाता है तो उपयोगकर्ता की समय सीमा कभी समाप्त नहीं होगी। इसका उपयोग उपयोगकर्ताओं को क्रमशः "sudo -v" और "sudo -k" के माध्यम से अपने स्वयं के समय टिकटों को बनाने या हटाने की अनुमति देने के लिए किया जा सकता है।

उदाहरण के लिए, chris20 मिनट के लिए उपयोगकर्ता के लिए टाइमआउट सेट करने के लिए, निम्नलिखित को /etc/sudoersया किसी फ़ाइल में /etc/sudoers.d(नोट: इन फ़ाइलों में नियमों का क्रम और इन फ़ाइलों के क्रम दोनों को जोड़ दें , सुनिश्चित करें कि यह अनजाने में ओवरराइड नहीं है एक नियम जिसे बाद में निष्पादित किया जाता है):

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