मैं पासवर्ड के लिए पूछने से PolicyKit को कैसे रोकूं?


24

वर्षों से, मैंने अपनी sudoersफ़ाइल में निम्नलिखित लिखा है:

scott   ALL=NOPASSWD: ALL

जो नहीं जानते हैं, उनके लिए यह पासवर्ड रोकने के लिए sudoमित्रों और ( gksudoआदि) को रोकता है । हालांकि, वर्षों में, अधिक से अधिक सामान जो एक बार उपयोग sudoकिया जाता है, पॉलिसीकीट का उपयोग करने के लिए स्विच किया गया है।

मैं PolicyKit के लिए एक समान कॉन्फ़िगरेशन की तलाश कर रहा हूं, जैसे कि यह मुझसे कभी भी मेरा पासवर्ड नहीं मांगेगा।

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

जवाबों:


15

आप वाइल्डकार्ड के साथ कार्रवाई को प्रतिस्थापित करके पॉलिसीकीट को छल सकते हैं और सभी पासवर्ड संकेतों को दबा सकते हैं।

अस्वीकरण: निम्नलिखित लॉगिन स्क्रीन के अपवाद के साथ व्यवस्थापक समूह से संबंधित सभी के लिए विश्व स्तर पर सभी पासवर्ड संकेतों को दबा देगा। यह बहुत खतरनाक है और कभी भी लागू नहीं किया जाना चाहिए क्योंकि संभावना है कि आप अपने सिस्टम को समाप्त कर रहे हैं!

आप चेतावनी नहीं थे मत कहो!

नोट: यदि आप 12.04 या बाद में चल रहे हैं, "sudo" के साथ "व्यवस्थापक" स्थानापन्न करें!

"उपयोगकर्ता नाम" को अपने वास्तविक उपयोगकर्ता नाम से बदलें:

usermod -aG admin username

रूट पर स्विच करें:

sudo -i

एक नई नीति बनाएँ:

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

निम्नलिखित जोड़ें:

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

सुरषित और बहार। फिर कुछ ऐसा प्रयास करें जिसमें आमतौर पर पासवर्ड की आवश्यकता हो। :)

नोट: यह कोई फर्क नहीं पड़ता कि आप अपने .pkla फ़ाइल नाम के रूप में क्या उपयोग करते हैं। आप इसे अपनी इच्छानुसार कुछ भी नाम दे सकते हैं।

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


यह फेडोरा पर भी काम करता है जब आप adminसमूह के साथ स्थानापन्न करते हैं wheel। धन्यवाद!
केनी रस्साचर

3
क्या कोई वर्णन कर सकता है कि यह प्रणाली को "कैसे" तोड़ देगा?
मेहरदाद

3
हाँ कृपया। इससे व्यवस्था कैसे टूटेगी? यह नहीं! कुछ बेवकूफ जो आप इसके बाद करते हैं, सिस्टम को तोड़ देगा, लेकिन यह नहीं! यह आपको पासवर्ड के बिना होस्ट पर कुछ भी करने की अनुमति देगा। यदि आप कुछ बेवकूफ करते हैं, तो आप सिस्टम को तोड़ देंगे। यदि आपको पासवर्ड डालना है और आप कुछ बेवकूफ करते हैं, तो आप सिस्टम को तोड़ देंगे। यह, प्रति-से, बस कुछ बेवकूफी करना थोड़ा आसान हो जाता है।
खतरों के खिलाड़ी

1
@ jeckyll2hide नोट पढ़ें - यह बताता है कि ओपी ने क्यों चुना [Install package file]। या तो आप इससे सहमत नहीं हैं और नोट को एक समान संपादन की आवश्यकता है, या आपका संपादन अमान्य है और इसे वापस ले जाना चाहिए।
बीसीबी

1
@prusswan का उपयोग आप Identity=unix-user:scottकेवल उपयोगकर्ता को "स्कॉट" करने के लिए कर सकते हैं। इसके अलावा, यदि आप केवल कुछ कार्यों की अनुमति देना चाहते हैं, तो आप grep /var/log/auth.log कर सकते हैं और polkitd आपके द्वारा पासवर्ड के लिए संकेत दिए जाने पर आपके द्वारा प्रयास किए जा रहे पोलकिट का पूरा नाम आउटपुट करेगा। cat /var/log/auth.log | grep polkitdआपको उनमें से एक बहुत ही त्वरित सूची देगा
स्कॉट

8

आप एक .pkla बना सकते हैं, या तो एक्शन ग्रुप के आधार पर एक या एक जोड़े में सभी, वास्तव में कोई फर्क नहीं पड़ता।

/ Usr / share / polkit-1 / कार्रवाइयों में संदर्भ देखने के लिए, एक्शन आईडी प्राप्त करने के लिए टेक्स्ट एडिटर में रुचि रखने वालों को खोलें।

जहाँ तक एक .pkla या 2 है, मैं उन्हें लगाने के लिए सबसे अच्छी जगह ढूंढता हूँ, यह किसी भी अपडेट से सुरक्षित रहेगा

/var/lib/polkit-1/localauthority/50-local.d

उदाहरण के लिए यहां मेरा मुख्य एक है, जिसका नाम पैकेज-मैनेजर है। पीपीला हालांकि यह सिर्फ पैकेज मैनेजमेंट पॉलिसी से थोड़ा आगे है

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

ध्यान दें कि 12.04 में शुरू होने वाले समूह को "व्यवस्थापक" उपयोगकर्ता के लिए उपयोग किया जाता है, जिसे sudo में बदलना चाहिए, अर्थात।

Identity=unix-group:sudo

यह भी ध्यान दें कि कार्रवाई प्रति अनुभाग एक साथ हो सकती है, कोई रिक्त स्थान नहीं, एक का उपयोग करें; आईडी के बीच में


ऐसा लगता है कि आप प्रत्येक कार्यक्रम के लिए व्यक्तिगत रूप से सेटिंग कर रहे हैं। यह बल्कि थकाऊ लगता है, खासकर अगर मैं बाद में कुछ अन्य प्रोग्राम स्थापित करता हूं जो पॉलिसीकिट का उपयोग करना चाहता है। मैं एक वैश्विक कॉन्फ़िगरेशन परिवर्तन बनाने का एक तरीका ढूंढ रहा हूं जो सब कुछ प्रभावित करता है।
स्कॉट सेवेरेंस

1
कभी भी 'विश्व स्तर पर' को प्रभावित करने का कोई तरीका नहीं देखा, विश्वास नहीं होता कि जिस तरह से पॉलिसीकिट काम करता है, प्रति एक्शन आईडी में एक नीति सेट है
डग

0

एक विकल्प, यदि आप जानते हैं कि आप क्या कर रहे हैं, तो पॉलिसी किट को पूरी तरह से अक्षम करना है।

sudo apt-get remove libpolkit-agent-1-0


1
यह भी कई आवश्यक संकुल, की तरह निकाल देता है network-manager, gnome-control-centerऔर कई और अधिक। क्या कोई और बढ़िया तरीका है?
सनकैचर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.