मेरे पास एक GUI एप्लिकेशन है जिसे सुपरसुसर विशेषाधिकारों के साथ एक डेमन (पायथन में लिखित) को कॉल करने की आवश्यकता है। मैं पासवर्ड के लिए उपयोगकर्ता को संकेत दिए बिना ऐसा करना चाहूंगा।
चूंकि डेमन एक स्क्रिप्ट है, मैं सीधे SUID बिट सेट नहीं कर सकता। मैं इसके लिए एक सी रैपर लिख सकता था, लेकिन मैं पहिया को फिर से मजबूत नहीं कर सकता था, खासकर जब मेरे हिस्से पर एक गलती सिस्टम की सुरक्षा को गंभीर रूप से समझौता कर सकती थी।
इस स्थिति में मैं सामान्य रूप से क्या करूंगा /etc/sudoers
कि एक पंक्ति को जोड़ने के लिए उपयोगकर्ताओं को NOPASSWD निर्देश का उपयोग करते हुए पासवर्ड के बिना रूट के रूप में डेमन को निष्पादित करने की अनुमति मिलती है। यह कमांड लाइन से ठीक काम करता है। हालाँकि, जब मैं GUI से ऐसा करता हूं, तो एक pkexec
संवाद उपयोगकर्ता का पासवर्ड मांगता है। ऐसा लगता है कि उबंटू पर, sudo
जीयूआई से कॉल किसी भी तरह से बाधित हो रहे हैं pkexec
।
क्या इसके आस-पास कोई साफ रास्ता है? मैं वास्तव में एक सेतु स्क्रिप्ट के झंझटों से निपटना नहीं चाहता।
sudo somecommand
, तो संवाद बॉक्स जो कि पॉप अप होता है, एक pkexec
पासवर्ड संवाद है, इस बात पर ध्यान दिए बिना कि क्या कोई sudoers पॉलिसी है जो प्रोग्राम के निष्पादन की अनुमति देती है।