जब मैं सूडो चलाता हूं, तो मेरे वातावरण का वास्तव में क्या होता है?
जब मैं दौड़ता हूं sudo command
, तो यह मेरे या रूट के वातावरण को देखने के लिए प्रतीत नहीं होता है। उदाहरण के लिए, दोनों के लिए मेरा पथ शामिल है /usr/local/bin
, लेकिन अगर मैं एक कार्यक्रम को पूर्ण पथ के बिना चलाने का प्रयास करता हूं, तो यह विफल हो जाता है।
मैंने सोचा कि सूडो जड़ के रूप में भागे, और इसलिए जड़ का वातावरण मिला। क्या कोई अलग तरीका है जो मूल या मेरे सामान्य उपयोगकर्ता की तुलना में sudo के तहत बैश करता है?
संपादित करें:
मैं sudo -i
हाल ही में उपयोग कर रहा हूं , लेकिन हाल ही में यह समस्या पैदा कर रहा है क्योंकि मेरी वर्तमान कार्यशील निर्देशिका सेट हो गई है /root
। यह अपेक्षा के अनुरूप है (सॉर्ट), लेकिन मुझे अभी भी समझ में नहीं आया है कि सूदो मेरे निष्पादकों को क्यों नहीं पहचान रहा है /usr/local/bin
।
संपादित करें:
मैं फेडोरा 15 चला रहा हूं।
PATH
, और कभी-कभी यह पता लगाना आसान नहीं है कि इसे अंतिम कौन ओवरराइड करता है। यह कुछ सिस्टम सेटिंग (उदाहरण के लिए PAM), sudo ही, या बाद की प्रोफ़ाइल स्क्रिप्ट हो सकती है।