अगर टर्मिनल के पास सूडो विशेषाधिकार हैं और यह भी दिखाया जाए कि कितना समय बचा है?


10

टर्मिनल में कैसे देखें कि आपके पास सूडो विशेषाधिकार हैं? (इसलिए यह जानते हुए कि मेरे पास ये विशेषाधिकार हैं, मैं बस टाइप कर सकता हूं sudo -k) टर्मिनल में बहुत अधिक जानकारी नहीं जोड़ना बेहतर होगा, बस कुछ प्रकार के सरल और छोटे अलर्ट!

शेष समय क्या है, ठीक है?

यह भी देखना है कि उस विशिष्ट टर्मिनल पर उन विशेषाधिकारों के साथ मेरे पास अभी भी कितना समय है? (इसलिए मैं केवल टाइप करने के बजाय इसे समाप्त कर सकता हूं sudo -k)। मुझे लगता है कि शेष समय हर बार मैं कुंजी दबाकर दिखा सकता हूं।

संपादित करें: मैंने और अधिक शोध किया और पाया कि /var/lib/sudo/$USER/$nPts(जहां $ nPts वर्तमान टर्मिनल pts है ps -p $$) के रूप में इसकी टाइमस्टैम्प हर बार अपडेट की जाती है, जो एक sudo कमांड जारी की जाती है, और यह केवल तभी सुलभ है जब आप एक sudo कमांड का उपयोग करते हैं, इसलिए शेष समय हमेशा रहेगा एक कॉन्फ़िगर किया गया ...

पुनश्च: वैकल्पिक रूप से, मैंने कोशिश की, alias sudo='sudo -k'लेकिन मुझे हर कमांड के लिए पासवर्ड टाइप करना पसंद है ... और यह भी, यह alias sudos='sudo -k'(या alias ssudo='sudo -k', अच्छा है अगर आपने एक लंबी लाइन टाइप की है, तो बस होम दबाएं और 's' टाइप करें) यदि आप केवल टाइप करके एक आदेश जारी करना चाहते हैं sudos। लेकिन मुझे अभी भी यह जानने की याद है कि जब मेरे पास अभिनय करने के लिए सामान्य सूडो विशेषाधिकार हैं, तो मुझे यह जानना होगा ...


2
यह डाउन-वोट क्यों किया गया? हालांकि यह सबसे साफ पोस्ट नहीं है, फिर भी शीर्षक प्रश्न मुझे (और उस पर एक बहुत ही उपयोगी प्रश्न) एक वैध प्रश्न की तरह लगता है
DaimyoKirby

क्या आप कह सकते हैं कि क्या स्पष्ट किया जा सकता है? मेरी अनारक्षित प्रारंभिक पोस्ट 3 गुना बड़ी थी और मैंने इसे और अधिक संक्षिप्त करने के लिए इसे मंजूरी दे दी :)
कुंभ राशि

मुझे लगता है कि बस देर हो चुकी थी - मैंने इसे फिर से पढ़ा है, और यह अधिक समझ में आता है।
डेम्योकिर्बी

जवाबों:


5

[मैं अभी भी जानना चाहूंगा कि क्या बेहतर उत्तर है।]

मुझे एक रास्ता मिला जो काम करता है, और प्रॉम्प्ट को एक ही लाइन पर रखा जाएगा:

~/.bashrcइसे जोड़ने के अंत में :

function FUNCsudoOn() { 
    if sudo -n uptime 2>/dev/null 1>/dev/null; then 
        echo -ne "\E[0m\E[93m\E[41m\E[1m\E[5m SUDO \E[0m"; 
        #echo #without newline, the terminal seems to bugout with lines that are too big... discomment this if you find any problems...
    fi; 
}
function FUNCpromptCommand () { 
    FUNCsudoOn
}
export PROMPT_COMMAND=FUNCpromptCommand
#export PS1="\`FUNCsudoOn\`$PS1" #this also works, use instead of PROMPT_COMMAND

संपादित करें: मैंने पाया कि sudo -n uptimesudo टाइमआउट अपडेट करेगा, इसलिए हर बार जब आप Enter कुंजी दबाते हैं, तो sudo समय अपडेट किया जाएगा ... जो शेष समय को बेकार बना देता है, क्योंकि यह हमेशा कॉन्फ़िगर किया गया होगा, 15min को डिफ़ॉल्ट रूप से ।। ।

और खोजने के लिए सबसे अच्छा रंग स्वरूपण आप स्वाद के लिए आप उपयोग कर सकते ScriptEchoColor साथ --escapedcharsकी तरह विकल्प:

echoc --escapedchars "@{nRlyo} SUDO " #that outputs below...
echo -e "\E[0m\E[93m\E[41m\E[1m\E[5m SUDO \E[0m"

अंदर की \E[5mतरह पलक हटाने को रोकने के लिए\E[0m\E[93m\E[41m\E[1m SUDO \E[0m


4

आपके टर्मिनल में "sudo विशेषाधिकार" नहीं हैं, जब तक कि आप मूर्खतापूर्ण कुछ भी sudo bash नहीं करते हैं!

आपको बस "सामान्य सूडो विशेषाधिकार प्राप्त करना है" sudoकमांड के सामने टाइप करने से बचना है ।

/usr/bin/idयह देखने का एक अच्छा तरीका है कि क्या sudoहोता है। उदाहरण के लिए:

id -a        # returns my UID info
sudo id -a   # returns root's info
id -a        # me again
sudo id -a   # root again

sudoआदमी पेज कहते हैं, "sudoers नीति, 15 मिनट के लिए क्रेडेंशियल्स कैश जब तक sudoers (5) में अधिरोहित"। इसका मतलब यह है कि, डिफ़ॉल्ट रूप से, यदि आप एक sudoकमांड जारी करते हैं (और अपना पासवर्ड दर्ज करते हैं), तो दूसरी sudoकमांड जारी करने से 14.9 मिनट पहले प्रतीक्षा करें , आपको फिर से अपना पासवर्ड दर्ज नहीं करना होगा। यदि आप 15.1 मिनट प्रतीक्षा करते हैं, तो आपको पासवर्ड फिर से दर्ज करना होगा। sudo -kबस तुरंत 15 मिनट के टाइमर की समय सीमा समाप्त होती है। एकमात्र उपयोग जो मैं देख सकता हूं, वह यह sudo -kहै कि आप अपने अनलॉक किए गए टर्मिनल को किसी ऐसे व्यक्ति के बारे में बता सकते हैं जिसके साथ आप भरोसा नहीं करते हैं UID 0


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

इसके अलावा, बचे हुए समय के बारे में, मैं जानना चाहता हूं कि हर बार टर्मिनल पर एंटर की प्रेस करने में कितना समय लगता है। के बारे में sudo -k, मैं अपनी मशीन को दूरस्थ रूप से एक्सेस करने की कोशिश कर रहे पटाखे के बारे में चिंतित हूं (मुझे वास्तव में नहीं पता कि क्या वे इसे वैसे भी कर सकते हैं ...), या अगर मैं अपनी मशीन को कुछ क्षणों के लिए बंद किए बिना खुला छोड़ देता हूं ... तो ठीक है। असली बात यह है कि: मैं इसे इस तरह से करना चाहता हूं! मुझे टाइप करने की परवाह नहीं है sudo -kऔर मेरा पासवर्ड बाद में फिर से जितनी बार मुझे चाहिए, मुझे अच्छा लगता है जब मैं इसे इस तरह से करता हूं! :)
कुंभ राशि

"सूडो के उपयोग से बचें"? सूडो रूट पासवर्ड वितरित करने, बायनेरी सेतु बनाने या उपयोग करने का समाधान था /bin/su। क्या आप वाकई इसे छोड़ना चाहते हैं? "दूर से मेरी मशीन तक पहुँच ..." और, मुझे लगता है, ले लो /proc/YourPID/fd/{0,1,2}। नहीं, यदि आपकी मशीन दूरस्थ रूप से एक्सेस की जाती है, तो बैड गाई के पास यूआईडी 0 के लिए आसान तरीके हैं। आपको इस स्तर की चिंता से पहले अपने लिनक्स-फू को बढ़ाना चाहिए।
वाल्टिनेटर

शेख़ी के लिए क्षमा करें, ऐसा लगता है कि आपको चाहिए alias k=/usr/bin/sudo -k, sudoकमांड को एक उपनाम या बैश फ़ंक्शन के साथ बदलें जो कॉल को इसके /usr/bin/sudoसाथ लपेटता है /usr/bin/touch $HOME/tmp/$$/sudotime, और अंत में, प्रिंट करने के लिए $ {{समय (अब) - समय ($ घर / tmp / $) जोड़ें $ / sudotime))) आपके बैश प्रॉम्प्ट में। तुच्छ नहीं, लेकिन अगर यह आपको अच्छा महसूस कराएगा, तो इसके लिए जाएं।
वाल्टिनेटर

यह दिलचस्प है, मैं भी लॉग इन जब प्रयास हुआ, या इससे भी बेहतर, किसी भी नेटवर्क संचार बंद, शांत! लेकिन यहां तक ​​कि अगर मैं sudoकिसी भी यादृच्छिक शब्द के लिए एक उपनाम के साथ छिपाता हूं , तो वे /usr/bin/sudoइसके बजाय टाइप कर सकते हैं sudoऔर यह अभी भी काम करेगा जैसा कि सूद करता है :( वैसे भी मुझे विचार पसंद है .. मुझे आश्चर्य है कि अगर मैं असली बदलूं तो /usr/bin/sudoयह कुछ और को तोड़ देगा। मेरी सभी लिपियाँ जो इसका उपयोग करती हैं .. भले ही मैं ऐसा करता हूँ, वे लिपियों को पढ़कर अनुमान लगा सकते हैं कि सूदो क्या बन गई ..
कुंभ राशि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.