एक वाहन चालक के लिए एक पासवर्ड पासिंग


9

मैंने अपने सिस्टम पर एफ़टीपी कनेक्शन खोलने के लिए निम्नलिखित शेल स्क्रिप्ट के साथ एक ऑटोमेटर एप्लिकेशन लिखा है:

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
osascript -e 'tell app "Finder" to display alert "SFTP Opened"'

यह बिल्कुल वैसा ही काम करता है, जैसा कि सूडो कमांड को पासवर्ड की जरूरत होती है। जब टर्मिनल पर एक ही कमांड चलाया जाता है, तो यह मुझे एक पासवर्ड के लिए संकेत देता है, लेकिन जब एक ऑटोमेकर ऐप के रूप में चलाया जाता है, तो मुझे किसी भी इनपुट के लिए संकेत नहीं देता है। प्रोग्रामर को ऑटोमैटिक स्क्रिप्ट के भीतर इस सुडो को पासवर्ड देने के लिए कोई रास्ता नहीं है? मुझे पता है कि यह एक सुरक्षित प्रथा नहीं है, लेकिन मैं अभी भी इसे करना चाहता हूं क्योंकि मेरी प्रणाली मेरे अलावा किसी अन्य से सुरक्षित और अछूती है।

एक "शेल स्क्रिप्ट ... व्यवस्थापक विशेषाधिकारों के साथ" विधि निम्नलिखित त्रुटि दे रही है:

यहां छवि विवरण दर्ज करें

जवाबों:


10

AppleScript का उपयोग करके आपको यह करने देना चाहिए with administrator privileges:

osascript -e 'do shell script "sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist" with administrator privileges'

यह पासवर्ड पास नहीं करता है, लेकिन इसके लिए एक मानक OS X संकेत देता है:

आप अपने ऑटोमेटर वर्कफ़्लो में दो में से किसी एक तरीके से इसका उपयोग कर सकते हैं:


1
@Amit osascript बैश के लिए है :) आप AppleScript स्वचालक कार्रवाई में शुद्ध AppleScript चाहते हैं, इस तरह osascript निकालें: do shell script "sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist" with administrator privileges( क्या इस तस्वीर से निम्न में से एक )
GRG

1
हाँ, यह आकर्षण की तरह काम किया! आपके धैर्य के लिए धन्यवाद ... मुझे मूर्ख!
लेलियर

2

उम्मीद

आप इसके साथ एक उपकरण का उपयोग कर सकते हैं जैसे कि इंटरेक्शन को स्क्रिप्ट की अपेक्षा करें sudoexpectइस स्थिति के लिए डिज़ाइन किया गया है।

उम्मीद है - इंटरैक्टिव कार्यक्रमों के साथ क्रमादेशित संवाद

निम्नलिखित शेल स्क्रिप्ट आपके दो आदेशों के लिए पर्याप्त हो सकती है:

#!/usr/bin/expect -f
spawn sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
send "my-secret-password\n"

AppleScript और व्यवस्थापक विशेषाधिकारों के साथ

एक वैकल्पिक दृष्टिकोण AppleScript के do शेल स्क्रिप्ट कमांड का उपयोग करना है । आदेश व्यवस्थापक विशेषाधिकार विकल्प के साथ प्रदान करता है । एप्पल के तकनीकी नोट 2065 कवर में शेल स्क्रिप्ट को विस्तार से बताया गया है।

गूंज

इस समस्या के अन्य सामान्य दृष्टिकोणों में एक पाइप के साथ echoपासवर्ड पास करने का उपयोग करना शामिल है sudo। यह स्टैकऑवरफ्लो उत्तर इस और अन्य संबंधित दृष्टिकोणों पर चर्चा करता है, कैसे एक कमांड के लिए पासवर्ड प्रदान करें जो बैश में एक के लिए संकेत देता है?

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