Sudo पासवर्ड की आवश्यकता को अक्षम किए बिना sudo प्रॉम्प्ट को अक्षम करें


0

यह मेरे हिसाब से काफी पेचीदा है, या कम से कम बहुत बार वांछित नहीं है।

मैं उसके बाद नहीं हूं :

के साथ पासवर्ड अक्षम करना

 user    ALL=(ALL) NOPASSWD:    ALL

या एक समान चाल।

मुझे पता है कि sudo का पासवर्ड कैसे पढ़ें stdin, और यह ठीक काम कर रहा है लेकिन आपको अभी भी संकेत मिलता है:

$ echo $PW | sudo -S whoami
[sudo] password for oz123: root

वह मैन पेज दिखाता है जिसका मैं उपयोग कर सकता हूं -p

$ echo $PW | sudo -S -p "foo " whoami
foo root

$ echo $PW | sudo -S -p " " whoami
 root

एक सिंगल स्पेस काम करता है।

खाली स्ट्रिंग पास करने से काम नहीं लगता ...

$ echo $PW | sudo -S -p "" whoami
[sudo] password for oz123: root

तो सवाल यह है:

आप किसी रिक्त स्ट्रिंग को कैसे मान्य मान के रूप में परिभाषित करते हैं -p?

अद्यतन - sudo संस्करण

$ sudo --version
Sudo version 1.8.21p2
Sudoers policy plugin version 1.8.21p2
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.21p2

(उबंटू पर 18.04)


मुझे आश्चर्य है कि अगर एक शून्य \0की अनुमति है?
ज़ोराडेक

नहीं, $ echo $PW | sudo -S -p '\0' whoamiदेता है\0root
Oz123

मेरे पास सूडो 1.8.22 है और -p के साथ एक खाली स्ट्रिंग निर्दिष्ट कर सकता है (ओपनएसयूएसई 15.0)। आप कौन सा संस्करण उपयोग कर रहे हैं?
Luuk

यदि आप भी उपयोग कर रहे हैं, तो आप -S'2> / dev / null' (किसी भी त्रुटि संदेश के साथ) के साथ संकेत पुनर्निर्देशित कर सकते हैं।
meuh

2
वास्तविक समस्या क्या है जिसे आप हल करने का प्रयास कर रहे हैं? आप क्यों चाहते हैं कि प्रॉम्प्ट दिखाई न दे?
जेनी डी

जवाबों:


0

ऐसा लगता है कि sudo के नए संस्करणों के साथ यह समस्या हल हो गई है:

मेरे gentoo लैपटॉप पर:

$ sudo -k
$ echo "$PW" | sudo -S -p "" whoami
root

$ sudo --version
Sudo version 1.8.25p1
Sudoers policy plugin version 1.8.25p1
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.25p1

पुराने उबंटू मशीनों पर आप बस संकेत को पुनर्निर्देशित कर सकते हैं /dev/null:

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