* नया * WiFi नेटवर्क से कनेक्ट करते समय sudo पासवर्ड निकालें


12

इसलिए वर्तमान में जब मेरा गैर-व्यवस्थापक उपयोगकर्ता एक नए वाईफाई नेटवर्क (जैसे एक कैफे में कहते हैं) से कनेक्ट करने का प्रयास करता है, NetworkManager व्यवस्थापक उपयोगकर्ता के पासवर्ड के लिए संकेत देता है। क्या इसे बंद करने का एक तरीका है और गैर-व्यवस्थापक उपयोगकर्ता को जो भी वाईफाई नेटवर्क पसंद है उसे कनेक्ट करने की अनुमति देता है?

संपादित करें: केवल स्पष्ट करने के लिए, मेरा वास्तव में मतलब है कि एक नया वाईफाई नेटवर्क कभी भी कंप्यूटर से पहले जुड़ा नहीं है, इसलिए मौजूदा स्थापित कनेक्शन पर 'सभी उपयोगकर्ताओं के लिए उपलब्ध' पर क्लिक करने से मामला हल नहीं होगा- क्योंकि वर्तमान में गैर-व्यवस्थापक उपयोगकर्ता के साथ कोई समस्या नहीं है घर नेटवर्क के रूप में के रूप में वे कई बार के रूप में जोड़ने।


/etc/sudoersफाइल को संपादित करने के लिए यह पासवर्ड नहीं मांगता है
Rinzwind

मैंने visudoपहले गैर-व्यवस्थापक उपयोगकर्ता को कुछ चीजें करने की अनुमति देने के लिए उपयोग किया है (जैसे sudo apt-get upateकि उदाहरण के लिए) लेकिन मुझे यकीन नहीं है कि मुझे एक नए वाईफाई नेटवर्क से कनेक्ट करने के लिए पासवर्ड के लिए पूछा जाने के लिए मुझे वहां क्या करना होगा।
fpghost

हा तुम मुझे वहां ले गए अगर मैं जानता था कि मैं इसे एक उत्तर बना सकता हूं, तो याद से (थोड़ा खोजा जा सकता है लेकिन अभी तक नहीं मिला है: D)
रिनविंड

हाँ, someUser ALL=(root)NOPASSWD:/path/to/somethingControllingWiFiमैं जिस फॉर्म का अनुमान लगाता हूं, उसमें से कुछ होना चाहिए , अगर यह वास्तव में जाने का तरीका है।
fpghost

यह निश्चित है :) ..
रिनविंड

जवाबों:


14

मुझे Ubuntu 13.04 में निम्न समाधान के साथ सफलता मिली:

/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policyरूट / sudo विशेषाधिकारों के साथ खोलें और निम्नलिखित पंक्ति खोजें:

<message>System policy prevents modification of network settings for all users</message>

नीचे कुछ पंक्तियाँ यह होनी चाहिए:

<allow_active>auth_admin_keep</allow_active>

इसे इसमें बदलें:

<allow_active>yes</allow_active>

फ़ाइल सहेजें और अपने कंप्यूटर को पुनरारंभ करें।


नीचे @harlemsquirrel द्वारा उत्तर झटका देखें, यह एक डेब पैकेज के अंदर अनुमति को पैक करना बहुत आसान बना देगा। इसके अलावा, उपरोक्त दृष्टिकोण को अपडेट, आदि द्वारा रीसेट किए जाने की संभावना है, क्योंकि आपका संपादन dpkg द्वारा प्रबंधित फ़ाइल है।
vidstige

1
ठोस सलाह, लेकिन आपको बस sudo सेवा नेटवर्क-प्रबंधक पुनरारंभ के माध्यम से नेटवर्क को पुनरारंभ करना चाहिए।
शिकंजा

4

त्रुटि का समाधान कैसे करें: सिस्टम नीति सभी उपयोगकर्ताओं के लिए नेटवर्क सेटिंग्स को संशोधित करने से रोकती है

ऊपर दिए गए उत्तर से एक महत्वपूर्ण चरण गायब है, इसलिए मैं इसे यहां शामिल कर रहा हूं। :)

यह Ubuntu 14.04 LTS & 16.04 LTS में काम करता है

  1. टर्मिनल खोलें

  2. सु को जड़

    su -
    
  3. निम्नलिखित टाइप करें:

    nano /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  4. फ़ाइल के अंत में, खोजने के लेबल वाले अनुभाग:

    <action id="org.freedesktop.NetworkManager.settings.modify.system">
    
  5. Org.freedesktop.NetworkManager.settings.modify.system अनुभाग के निचले भाग में, कोड की निम्नलिखित पंक्ति का पता लगाएं :

    <allow_active>auth_admin_keep</allow_active>
    
  6. इस लाइन को पढ़ने के लिए इस प्रकार बदलें :

    <allow_active>yes</allow_active>
    
  7. फ़ाइल का उपयोग कर सहेजें :

    ^X
    
  8. उत्तर "संशोधित बफर बचाओ (ANSWERING" नहीं "WEST DESTROY CHANGES)?" टंकण द्वारा :

    Y
    
  9. जब संकेत दिया जाए तो दर्ज करें :

    File Name to Write: /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
    
  10. पुनः आरंभ करें

:)


3

आप इसके लिए एक स्थानीय नीति भी बना सकते हैं

[उपयोगकर्ता पुतली को नेटवर्क के लिए सिस्टम सेटिंग्स को संशोधित करने दें]
पहचान = यूनिक्स उपयोगकर्ता: छात्र
क्रिया = org.freedesktop.NetworkManager.settings.modify.system
ResultAny = नहीं
ResultInactive = नहीं
ResultActive = हाँ

नामक फाइल में /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla

यहाँ लाभ यह एक स्क्रिप्ट में एक ही आदेश और प्रयोग करने योग्य हो सकता है!

printf "[उपयोगकर्ता पुतली को नेटवर्क के लिए सिस्टम सेटिंग संशोधित करें] \ nIdentity = unix-user: pupil \ nAction = org.freedesktop.NetworkManager.settings.modify.system \ nResultAny = no \ nResultInactive = no \ nResultActive = yes" | सुडो टी /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla

संदर्भ: उबंटू मैनपेज: pklocalauthority


यह सही समाधान है
vidstige

2

यह वास्तव में ठीक नहीं है जिसकी मैं उम्मीद कर रहा था लेकिन मुझे जो एक वर्कअराउंड मिला है वह सिर्फ NetworkManagerएक साथ सभी को अक्षम करना है और इसके बजाय उपयोग करना है Wicd

पहले NetworkManagerस्टार्टअप पर चलने से रोकें :

sudo gedit /etc/NetworkManager/NetworkManager.conf

फिर # managedलाइन से बाहर । इसके अलावा # बाहर #start on (local-filesystems and started dbus)से /etc/init/network-manager.conf। तो बस डबल सुनिश्चित करने के लिए

sudo mv /etc/init/network-manager.conf /etc/init/network-manager.conf-disabled
sudo mv /etc/xdg/autostart/nm-applet.desktop /etc/xdg/autostart /nm-applet.desktop.disabled  

अब बस उपयोग कर सकते हैं Wicdऔर कोई पासवर्ड संकेत लगता है की जरूरत है।


1

आप सिस्टम कॉन्फ़िगरेशन फ़ाइलों को संपादित कर सकते हैं, लेकिन यह क्रूर बल है। सबसे पहले, एक सामान्य नियम के तहत विन्यास बसता था के रूप में /etc, नहीं /usrया /varया कहीं और। HarlemSquirrel ने बताया कि कैसे डिफ़ॉल्ट नीति में उचित परिवर्तन किया जाए। के तहत फ़ाइलों को संपादित /usrकरना आपके चेहरे पर जल्दी या बाद में उड़ाने की गारंटी है, क्योंकि उन फ़ाइलों को सिस्टम पैकेज द्वारा प्रदान किया जाता है, जिन्हें अंततः अपडेट या बदल दिया जाएगा।

लेकिन बड़ी समस्या यह है कि ये परिवर्तन पूरी तरह से अनावश्यक हैं, कम से कम 18.04 तक। यह एक "आप इसे गलत पकड़ रहे हैं" मुद्दा है। दरअसल, यह एनएम एपलेट के हिस्से पर एक प्रयोज्य मुद्दा है, लेकिन फिर भी। पर एक नज़र रखना /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy:

  <action id="org.freedesktop.NetworkManager.settings.modify.system">
    <description>Modify network connections for all users</description>
    <defaults>
      <allow_any>auth_admin_keep</allow_any>
      <allow_inactive>auth_admin_keep</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

मतलब उपयोगकर्ता कनेक्शन नहीं बना सकते हैं, है ना? गलत! आगे देखो:

  <action id="org.freedesktop.NetworkManager.settings.modify.own">
    <description>Modify personal network connections</description>
    <defaults>
      <allow_any>auth_self_keep</allow_any>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

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

लेकिन अगर आप सेटिंग ऐप खोलते हैं, तो वाई-फाई पर जाएं और वांछित नेटवर्क पर क्लिक करें, यह आपको आसानी से बिना एडमिन पासवर्ड के कनेक्ट होने देगा। पार्क में टहलने।

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


इस जानकारी के लिए OMG धन्यवाद, यह मुझे इतने लंबे समय से परेशान कर रहा है। मैंने अभी एक बग रिपोर्ट प्रस्तुत की: Bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/…
gpothier
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.