पासवर्ड को ग्राफिकल इंटरफ़ेस के माध्यम से पूछे जाने के लिए मुझे कौन सा विकल्प देना चाहिए?


11

इस समस्या ने मुझे अभी थोड़ी देर के लिए दूर कर दिया है।

हर अब और फिर, मुझे एक स्क्रिप्ट फ़ाइल लिखने की ज़रूरत है जिसे sudoकमांड निष्पादित करना चाहिए । मुझे पहले से पता नहीं है कि मैं चलाऊंगा, sudoइसलिए मुझे यकीन है कि एक अच्छा ग्राफिकल इंटरफ़ेस खोलने का एक तरीका है (जैसे कि सॉफ्टवेयर स्थापित करते समय एक पॉपिंग अप) लेकिन कैसे?

man sudoकहते हैं:

-A          Normally, if sudo requires a password, it will read it from the current terminal.  If the -A (askpass) option is specified, a (possibly
            graphical) helper program is executed to read the user's password and output the password to the standard output.  If the SUDO_ASKPASS
            environment variable is set, it specifies the path to the helper program.  Otherwise, the value specified by the askpass option in
            sudoers(5) is used

तो मुझे पूरा यकीन है कि समाधान उस -Aऔर SUDO_ASKPASSटपल में रहता है लेकिन मैं उन लोगों को खोजने में कामयाब रहा हूं।


1
लिनक्स में इनको फ्रंट-एंड की तरह gtksudoया इसके द्वारा हैंडल किया जाएगा kdesudo। मुझे नहीं पता कि चीजों के ओएस-एक्स की तरफ क्या है, लेकिन मुझे लगता है कि आप उन पंक्तियों के साथ कुछ ढूंढ रहे हैं।
कालेब

जवाबों:


17

ओएस एक्स के पास ऐसा करने के लिए पूरी तरह से साफ तरीका नहीं है, लेकिन इसे नकली करने के कुछ तरीके हैं। सबसे पहले, AppleScript में एक ग्राफिकल प्रमाणीकरण के आधार पर sudo-ish चीजें करने का एक अच्छा तरीका है, और आप इसका उपयोग कर सकते हैं:

osascript -e "do shell script \"stufftorunasroot\" with administrator privileges"

आप सूडो टाइमस्टैम्प को सेट करने के लिए उस तंत्र का उपयोग भी कर सकते हैं, और फिर चीजों को करने के लिए नियमित सूडो (5-मिनट के टाइमआउट विंडो के भीतर) का उपयोग कर सकते हैं:

osascript -e "do shell script \"mkdir -p /var/db/sudo/$USER; touch /var/db/sudo/$USER\" with administrator privileges" && \
    sudo stufftorunasroot

अंत में, आप पासवर्ड के लिए प्रॉम्प्ट करने के लिए AppleScript का उपयोग कर सकते हैं, फिर उसे sudo में पास कर सकते हैं:

pw="$(osascript -e 'Tell application "System Events" to display dialog "Password:" default answer "" with hidden answer' -e 'text returned of result' 2>/dev/null)" && /
    echo "$pw" | sudo -S stufftorunasroot

इतने लंबे समय तक इंतजार किया कि इस महान टिप के लिए धन्यवाद
अपाचे

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