ऐसा लगता है कि यह बग काफी समय से आसपास है! यहां कुछ बग संदर्भ दिए गए हैं जो आपको मददगार लग सकते हैं (और सदस्यता लेना / वोट करना, संकेत, संकेत ...):
डेबियन बग # 85123 ("सुडो: SECURE_PATH अभी भी ओवरराइड नहीं किया जा सकता") (2001 से!)
ऐसा लगता है कि बग # 20996 अभी भी सूडो के इस संस्करण में मौजूद है। चेंगलॉग का कहना है कि इसे रनटाइम के दौरान ओवरराइड किया जा सकता है लेकिन मैंने अभी तक इसका पता नहीं लगाया है कि कैसे।
वे आपके sudoers फ़ाइल में कुछ इस तरह का उल्लेख करते हैं:
Defaults secure_path="/bin:/usr/bin:/usr/local/bin"
लेकिन जब मैं Ubuntu 8.10 में कम से कम ऐसा करता हूं, तो यह मुझे यह त्रुटि देता है:
visudo: unknown defaults entry `secure_path' referenced near line 10
उबंटू बग # 50797 ("सुडोल-सुरक्षित-पथ समस्याग्रस्त है" के साथ बनाया गया)
इससे भी बदतर, जहाँ तक मैं बता सकता हूँ, sudoers फ़ाइल में safe_path का सम्मान करना असंभव है। इसलिए, यदि, उदाहरण के लिए, आप अपने उपयोगकर्ताओं को किसी चीज़ के तहत आसान विकल्प प्रदान करना चाहते हैं, तो आपको sudo को फिर से शुरू करना होगा।
हाँ। वहाँ की जरूरत है recompile बिना इस "सुविधा" ओवरराइड करने के लिए एक तरह से किया जाना है। कुछ भी बुरा नहीं है, तो सुरक्षा के बड़े-बड़े आपको बता रहे हैं कि आपके पर्यावरण के लिए सबसे अच्छा क्या है और फिर आपको इसे बंद करने का कोई तरीका नहीं दे रहा है।
यह वास्तव में कष्टप्रद है। सुरक्षा कारणों के लिए वर्तमान व्यवहार को डिफ़ॉल्ट रूप से रखना बुद्धिमानी हो सकता है, लेकिन स्रोत कोड के लिए पुन: जमा करने के अलावा इसे ओवरराइड करने का एक तरीका होना चाहिए! कई लोगों को पैठ विरासत की जरूरत होती है। मुझे आश्चर्य है कि कोई अनुरक्षक इसमें क्यों नहीं दिखता है, जो स्वीकार्य समाधान के साथ आना आसान लगता है।
मैंने इसके चारों ओर इस तरह काम किया:
mv /usr/bin/sudo /usr/bin/sudo.orig
फिर एक फ़ाइल / usr / bin / sudo बनाएँ जिसमें निम्नलिखित शामिल हैं:
#!/bin/bash
/usr/bin/sudo.orig env PATH=$PATH "$@"
तब आपका नियमित रूप से सूडो गैर-सुरक्षित पथ के सूडो की तरह काम करता है
उबंटू बग # 192651 ("सुडोल रास्ता हमेशा रीसेट होता है")
यह देखते हुए कि इस बग की एक डुप्लिकेट मूल रूप से जुलाई 2006 में दायर की गई थी, मुझे स्पष्ट नहीं है कि ऑपरेशन में एक अप्रभावी env_keep कब तक रहा है। उपर्युक्त सूचीबद्ध ट्रिक्स जैसे उपयोगकर्ताओं को काम करने के लिए मजबूर करने के लिए जो भी हो, निश्चित रूप से सूडो और सूडर्स के लिए पुरुष पृष्ठों को इस तथ्य को प्रतिबिंबित करना चाहिए कि पैट को संशोधित करने के विकल्प प्रभावी रूप से बेमानी हैं।
वास्तविक निष्पादन को प्रतिबिंबित करने के लिए दस्तावेज़ीकरण को संशोधित करना गैर अस्थिर और बहुत उपयोगी है।
Ubuntu बग # 226595 ("पथ को बनाए रखने / निर्दिष्ट करने के लिए असंभव")
मुझे PATH में अतिरिक्त गैर-एसटीडी बाइनरी फ़ोल्डर के साथ sudo चलाने में सक्षम होने की आवश्यकता है। पहले से ही मेरी आवश्यकताओं को / etc / पर्यावरण में शामिल करने के बाद मुझे आश्चर्य हुआ जब मुझे sudo के तहत चलने के दौरान लापता कमांड के बारे में त्रुटियां मिलीं .....
मैंने इसे सक्सेज के बिना ठीक करने की कोशिश की:
" sudo -E
" विकल्प का उपयोग करना - काम नहीं किया। मेरा मौजूदा पेट अब भी सुडो द्वारा रीसेट किया गया था
/ आदि / sudoers में " Defaults env_reset
" से " Defaults !env_reset
" बदलना - भी काम नहीं किया (भले ही sudo -E के साथ संयुक्त हो)
Uncommenting env_reset
(जैसे " #Defaults env_reset
") में / etc / sudoers - भी काम नहीं किया।
' Defaults env_keep += "PATH"
' को / etc / sudoers में जोड़ना - भी काम नहीं किया।
स्पष्ट रूप से - मैन डॉक्यूमेंटेशन के बावजूद - sudo पूरी तरह से PATH के संबंध में हार्डकोडेड है और उपयोगकर्ताओं को PATH को बनाए रखने के संबंध में किसी भी लचीलेपन की अनुमति नहीं देता है। बहुत ही कष्टप्रद है क्योंकि मैं sudo का उपयोग करके रूट अनुमति के तहत गैर-डिफ़ॉल्ट सॉफ़्टवेयर नहीं चला सकता।