वर्तमान में लागू शेष सूडो टाइम-आउट को कैसे रद्द करें?


37

जब मैं बस दौड़ता हूं sudo, और यह नहीं चाहता कि वह अपने समय-समय की सामान्य अवधि के लिए सक्रिय रहे, तो मैं उस शेष सक्रिय समय- को कैसे रद्द कर सकता हूं ?

sudo -k इसे वर्तमान टर्मिनल सत्र के लिए मारता है, लेकिन अगर वर्तमान में एक प्रक्रिया उस सत्र में चल रही है और इसलिए नहीं चल सकती है sudo -k, तो क्या यह दूसरे टर्मिनल सत्र से रद्द करने का एक तरीका है?

और क्या वर्तमान में लागू सभी sudoबार (सभी टर्मिनल सत्रों के लिए, और सभी gksudo चलने वाले ऐप्स, आदि को रद्द करने का एक तरीका है) ?

हालाँकि, यह सोचने के लिए आते हैं, चल रहे GUI को बस बंद करने की आवश्यकता हो सकती है, लेकिन मैंने अभी जाँच की है कि Alt+ F2gksu को बाद के आक्रमणों के लिए सक्रिय रखता है।

जवाबों:


37

सुनिश्चित नहीं हैं कि अगर आप सूडो टाइमआउट को मारना चाहते हैं, तो यह समय समाप्त नहीं होता है या इसलिए यह तत्काल समाप्त हो जाता है, लेकिन यदि आप शेष टाइमस्टैम्प को हटाना चाहते हैं, तो आप इसका उपयोग कर सकते हैं sudo -k

अन्यथा, यदि आप एक टाइमआउट को रद्द करने की कोशिश कर रहे हैं तो सूडो टाइमआउट नहीं करते हैं, मुझे नहीं लगता कि वर्तमान सत्र में ऐसा करना संभव है। एकमात्र तरीका मुझे पता timestamp_timeoutहै कि sudoersफ़ाइल को बदलना और सत्र को फिर से शुरू करना होगा।


उफ़ .. मैं विस्तार से थोड़ा धीमा था: मैंने अपने प्रश्न में थोड़ा और जोड़ दिया .. "-k" के बारे में ... और, हां, मैं एक बार की स्थिति का उल्लेख कर रहा हूं , हालांकि यह अब लाता है सिस्टम-वाइड "वन-ऑफ़" का मुद्दा। ... धन्यवाद (+1) asnwer के लिए जो मेरे oringinaL (विस्तार में कमी) सवाल के लिए एकदम सही था ..
पीटर

1
मुझे यह समझ में नहीं आया कि -Kव्यावहारिक रूप से अलग कैसे किया जाता है -k(जब -k इसका उपयोग वेल्ड होता है) .., लेकिन -kइसका दोहरा उपयोग होता है: 1. खुद से (टाइमस्टैम्प को अमान्य करता है) ... 2. जब एक कमांड के साथ प्रयोग किया जाता है, तो पासवर्ड के लिए संकेत, भले ही पिछले sudo टाइमआउट समाप्त हो गया हो या नहीं ..... और वैसे: sudo -k Alt + F2 में पिछले sudo / gksu कॉल के टाइमस्टैम्प को मारने का काम करता है।
पीटर।

हाँ, मुझे नहीं पता कि मैं कब एक का उपयोग करूँगा।
वाजिव

एक तरफ "सभी मौजूदा timestamps मारने" मुद्दे से .... अंतर्निहित को बदलने के बिना sudoers सेटिंग्स, एक ही रास्ता मैं चलाने के लिए देख सकते हैं एक "guaranteed` एक समय केवल sudo है sudo -k; sudo -k appname.... क्योंकि यद्यपि sudo -k appnameबलों के लिए उपयोगकर्ता पासवर्ड दर्ज करें, यह पहले से मौजूद टाइमस्टैम्प को अपरिवर्तित छोड़ देता है ... (मैं इसे "चक्की के लिए ग्रिस" के रूप में उल्लेख करता हूं) ... और शायद सभी मौजूदा टाइमस्टैम्प को "मार" करने का सबसे सरल तरीका है, बस मुद्दे से बचना है। पूरी तरह से और स्क्रीन लॉक करने के लिए Ctrl + Alt + L दबाएं। :)
पीटर.ओ.

हाहा अगर आप में क्षमता है, तो मैं उस विकल्प के साथ
जाऊंगा

8

बस आपके एक अंक पर:

लेकिन अगर एक प्रक्रिया वर्तमान में उस सत्र में चल रही है और इसलिए sudo -k नहीं चल सकता है

यह कमांड लाइन के लिए विशिष्ट है, यदि आप कुछ करना चाहते हैं जबकि कुछ अन्य प्रक्रिया चल रही है, तो आप इस प्रक्रिया को रोकने के लिए Ctrl+ दबा सकते हैं Z; फिर आप वर्तमान टर्मिनल पर फिर से पहुंच सकते हैं, कुछ भी करें जिसे आप पसंद करते हैं। जब आप पूरी कर लें, तो आप jobsउनके बगल में एक संख्या के साथ, प्रक्रियाओं की एक सूची प्राप्त करने के लिए टाइप कर सकते हैं। टाइप करें fg 1(उदाहरण के लिए - और बस fgअगर एक ही काम है) एक प्रक्रिया को पुनरारंभ करने के लिए, इसे अग्रभूमि में बढ़ाएं। इसी तरह, bgएक ही काम करने के लिए लेकिन पृष्ठभूमि में चल रही प्रक्रिया को छोड़कर।

उदाहरण सत्र

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....

1
स्टेफानो: धन्यवाद ... यह बहुत अच्छा है ... लिनक्स मुझसे कहता है, "हां, ऑफ कोर्स मैं यह कर सकता हूं" :) ... और, यह सोचने के लिए, मुझे उस Ctrl के बारे में आधा पता था + Z, लेकिन आधा पर्याप्त नहीं है!) ... अब जब मैंने एक "वास्तविक" स्थिति का सामना किया है, जहां यह स्क्रीन पर सिर्फ पाठ नहीं है, मुझे यकीन है कि मैं इसे कभी नहीं भूलूंगा ... जाना चाहिए .. मुझे कुछ Cntrl + Z-ing करने के लिए मिला है ...
Peter.O

2

मुझे एक उपाय मिला। चूँकि मेरी खोज में कुछ भी समान नहीं दिखा था और यह एक लगातार सवाल है: sudo फाइलसिस्टम पर कहीं स्टोर करता है (उदाहरण के लिए / var / run / sudo में), एक डायरेक्टरी प्रति उपयोगकर्ता-नाम, कई फाइलें जो समय-स्टैम्प के रूप में काम करती हैं , प्रत्येक टर्मिनल के लिए एक फाइल। उन फ़ाइलों को हटाएं और आपका सिस्टम फिर से सुरक्षित है। बस ध्यान रखें कि वे फाइलें केवल रूट के लिए दिखाई देती हैं (अन्यथा एक घुसपैठिया समय-स्टांप को पढ़ सकता है और घड़ी-समय वापस उस बिंदु पर सेट कर सकता है जहां वे अभी भी मान्य थे - किसी को रूट-एलएस देना खतरनाक है)। इसलिए मेरे / etc / pm / sleep / और शायद स्क्रीनसेवर के लिए भी जो मैं चलाता हूं:

rm -f /var/db/sudo/*/*

निश्चित रूप से ...

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