2012-08-05 24 views
25

मेरे पास एक छोटा ऐप है जिसका उपयोग मैं अपने मैक पर प्रॉक्सी बदलने के लिए करता हूं। यह प्रॉक्सी सेटिंग्स सेट करने के लिए networksetup कमांड का उपयोग करता है, और यह शेर पर ठीक काम करता है। माउंटेन शेर पर हालांकि, यह हर बार जब मैं प्रॉक्सी सेटिंग्स बदलता हूं तो व्यवस्थापक पासवर्ड पूछता है।पासवर्ड से पूछने से नेटवर्कसेट को रोकें

नेटवर्कसेटअप सिस्टम नेटवर्क कॉन्फ़िगरेशन को संशोधित करने का प्रयास कर रहा है। इसे अनुमति देने के लिए अपना पासवर्ड टाइप करें।

क्या ऐसा होने से रोकने के लिए कोई तरीका है? या कोको में प्रॉक्सी सेटिंग्स को बदलने का कोई बेहतर तरीका है? शेर पर सिस्टम को याद किया गया जब मैंने पासवर्ड डाला, तो मुझे रीबूट के बाद ही प्रमाणित करना पड़ा।

मैंने यह भी देखा कि क्रोम में, प्रॉक्सी स्विचकी प्लगइन एक ही व्यवहार से पीड़ित है। यह कहता है

स्कुटिल सिस्टम नेटवर्क कॉन्फ़िगरेशन को संशोधित करने का प्रयास कर रहा है। इसे अनुमति देने के लिए अपना पासवर्ड टाइप करें।

उत्तर

0

मैं इसे भी समझने की कोशिश कर रहा हूं। मैंने देखा है आदमी पेज में यह उल्लेख है:

किसी भी झंडा है कि एक पासवर्ड को स्वीकार करेंगे लेता है - इंगित करने के लिए यह stdin से पासवर्ड पढ़ना चाहिए पासवर्ड के स्थान पर ""।

सुनिश्चित नहीं हैं कि काफी है कि यह कैसे उपयोग करने के लिए, लेकिन अभी आप इनपुट पासवर्ड के लिए कोई आवश्यकता नहीं है यह संभव लगता है ...

+1

आपने इस सवाल को गलत समझा, आप किस बारे में बात कर रहे हैं, उन सभी आदेशों के लिए नेटवर्कसेटअप को पासवर्ड देने के बारे में है जो एक की अपेक्षा करते हैं। ओपी का मुद्दा यह है कि नेटवर्क विशेषाधिकार को उपयोगकर्ता द्वारा व्यवस्थापक विशेषाधिकारों के साथ चलाने की आवश्यकता है। यह नेटवर्कसेटअप भी नहीं है जो यहां पासवर्ड मांगता है, लेकिन प्रमाणीकरण प्रबंधक। – SirDarius

7

आप /usr/sbin/networksetup करने की अनुमति suid सेट कर सकते हैं और फिर networksetup जड़ अनुमति के साथ चलेंगे ।

sudo chmod u+s /usr/sbin/networksetup 

SUID के बारे में: sudo http://www.linuxnix.com/2011/12/suid-set-suid-linuxunix.html

+1

यह ओएस एक्स 10.8 पर काम करना प्रतीत होता है लेकिन मुझे डर है कि अगर मैं डिस्क का उपयोग कर अनुमतियों की मरम्मत करता हूं तो यह तय हो जाएगा। – sorin

+0

यह मुझे त्रुटि ''cp: /Library/Preferences/SystemConfiguration/preferences.plist.old: अनुमति अस्वीकृत' – Sean

+1

बाइनरी सूड सेट न करें - यह खराब अभ्यास है और यही कारण है कि सूडो पहले स्थान पर मौजूद है। इस समस्या के लिए मैंने अधिक सुरक्षा दिमागी समाधान दिखाने के लिए इस प्रश्न के लिए एक सूडो आधारित उत्तर जोड़ा है। – synthesizerpatel

12

उपयोग आप इस आदेश पर अमल करने में सक्षम होना चाहते उपयोगकर्ता के लिए एक passwordless नियम जोड़कर यह पूरा करने के।

  • भागो visudo/etc/sudoers फाइल

    visudo -f /etc/sudoers 
    
  • फ़ाइल के अंत में संशोधित करने के लिए एक संपादक शुरू करने के लिए, लाइन

    $USERNAME ALL=(root) NOPASSWD: /usr/sbin/networksetup 
    

कहाँ जोड़ने $ USERNAME है, वह वास्तविक उपयोगकर्ता नाम दें जिसे आप नेटवर्कसेटअप कमांड पर nopassword पहुंच प्रदान करना चाहते हैं।

  • /usr/bin/sudo /usr/sbin/networksetup -version 
    

जो एक संस्करण संदेश गूंज अगर इसे सही ढंग से सेट अप किया गया होगा, या एक पासवर्ड अगर तुम 'के लिए संकेत चलाकर फ़ाइल अपने उपयोगकर्ता के रूप में

  • टेस्ट इसे सहेजें मैंने गलती की है

    यह एक बहुत ही सुरक्षित मार्ग है क्योंकि यह एक विशिष्ट उपयोगकर्ता को रूट के रूप में कमांड चलाने के लिए सीमित करता है, नेटवर्कसेटअप बाइनरी स्वयं सूड रूट सेट करने का मतलब है कि सिस्टम में लॉग इन करने वाले किसी भी व्यक्ति को आपके नेटवर्क कॉन्फ़िगरेशन को संशोधित किया जा सकता है। ओएसएक्स एक बहुउद्देशीय ऑपरेटिंग सिस्टम है, और इसे एक जैसा माना जाना चाहिए।

    यदि आप वास्तव में पागल हैं, तो सुनिश्चित करें कि आप/usr/bin/sudo को कॉल करते समय पूर्ण पथ का उपयोग करें।

  • +0

    अधिक जानकारी, कृपया। मैंने उपरोक्त कोशिश की (मान लें कि मेरा व्यवस्थापक उपयोगकर्ता नाम 'fred' है) {fred all = (root) NOPASSWD:/usr/sbin/networksetup} और परीक्षण के साथ त्रुटियों की एक लंबी श्रृंखला मिली (एनबी sbin नहीं बिन)। मुझे कमांड को कैसे प्रारूपित करना चाहिए? – dcnicholls

    +0

    मैंने पथ को ठीक करने के लिए उत्तर संपादित किया है, और परीक्षण को स्पष्ट बना दिया है। यदि आप किसी भी पैरामीटर के बिना नेटवर्कसेटअप को कॉल करते हैं तो आपको उपयोग युक्तियों का एक लंबा पृष्ठ मिल जाएगा। लेकिन यह साबित करता है कि यह पासवर्ड के बिना काम करता है। – nanoamp

    +0

    ये निर्देश अब इस त्रुटि का उत्पादन करते हैं "सुडो: लाइन 48 सूडो के पास/etc/sudoers में पार्स त्रुटि: कोई वैध सूडर्स स्रोत नहीं मिला, छोड़कर" हम अब फ़ाइल को कैसे संपादित करते हैं? – thefonso