का उपयोग करके एक सुपरसियर के रूप में एक लिनक्स सिस्टम कमांड चलाएं, मुझे अपनी मशीन पर पोस्टफिक्स इंस्टॉल किया गया है और मैं फ्लाई प्रोग्रामेटिकली (पायथन का उपयोग करके) पर वर्चुअल_लीअस अपडेट कर रहा हूं (कुछ क्रियाओं पर)। एक बार मैं में प्रवेश अद्यतन/etc/पोस्टफ़िक्स/virtual_alias, मैं कमांड चला रहा हूँ: एक पाइथन स्क्रिप्ट
sudo /usr/sbin/postmap /etc/postfix/virtual_alias 2>>/work/postfix_valias_errorfile
लेकिन मैं त्रुटि हो रही है:
sudo: sorry, you must have a tty to run sudo
मैं एक गैर मानव तरह से उल्लेख किया sudo आदेश चलाना चाहते हैं (अर्थात, मैं एक पाइथन लिपि से इस सिस्टम कमांड चला रहा हूँ।)। तो मैं इस आदेश को प्रोग्रामेटिक रूप से कैसे चला सकता हूं?
+1: पाइथन लिपि के बाहर सूडो करें। –
डगलस! मैं उस स्क्रिप्ट (/etc/init.d/postfix रीलोड) पर पासवर्ड की आवश्यकता नहीं होने के लिए सूडो को कैसे कॉन्फ़िगर कर सकता हूं? –
सुडो को पास करने की ज़रूरत नहीं है, सडोर्स का विषय है, और प्रोग्रामिंग प्रश्न के दायरे से बाहर, प्रति उपयोगकर्ता प्रति कार्यक्रम कॉन्फ़िगर किया जा सकता है। – myroslav