रूट -bashrc sudo-i पर निष्पादित नहीं कर रहा है


11

मेरे Ubuntu 11.10 सर्वरों में से एक पर, जब मैं sudo -iरूट उपयोगकर्ता बनने के लिए उपयोग करता हूं , तो रूट का .bashrc निष्पादित नहीं किया जा रहा है। अन्य सभी सर्वरों पर, जिनके संबंधित कॉन्फ़िगरेशन समान हैं, जहां तक ​​मुझे पता है, इसे ठीक से निष्पादित किया जा रहा है।

यहाँ मैंने जाँच की है:

  • .bashrc / रूट में मौजूद है, जो रूट के स्वामित्व में है: रूट, अनुमतियाँ 644
  • / etc / प्रोफाइल और /etc/bash.bashrc को निष्पादित किया जा रहा है
  • रूट का शेल "/ बिन / बैश" पर सेट है
  • मैं .bashrc को निष्पादित कर सकता हूं source .bashrc, जिसके बाद उस सत्र के लिए सब कुछ सामान्य है।
  • मैं bashरूट करने के बाद मुझे मैन्युअल रूप से बैश निष्पादित करने के लिए टाइप कर सकता हूं, और .bashrc तब निष्पादित किया जाता है
  • ps पुष्टि करता है कि मेरे रूट लॉगिन के लिए रनिंग शेल बैश है।

जांच के लिए कुछ और?

जवाबों:


10

आपको फ़ाइल की उपस्थिति और सामग्री को देखना चाहिए /root/.profile।

इनविट फ़ाइल ~/.bashrcको लॉगिन शेल्स में खट्टा नहीं किया गया है: उबंटू पर इसे से सोर्स किया गया है~/.profile

इसके अलावा, फ़ाइल /root/.profileको /etc/skel/अन्य उपयोगकर्ताओं के लिए से कॉपी नहीं किया गया है , इसे /usr/share/base-files/dot.profileपैकेज की स्थापना के दौरान से कॉपी किया गया है base-files।


3

एक अतिरिक्त स्थिति है जिसे आपको ध्यान में रखना चाहिए, जो मेरे मामले में हुआ।

यदि आप .bash_profileफ़ाइल बनाते हैं तो यह फ़ाइल लोड / निष्पादित करने .bashrcया करने की जिम्मेदारी ले रही है .profile।

जब आप अपना टर्मिनल खोलते हैं और उपयोग करते हैं "sudo -i"और आप अचानक कुछ कमांड उपनाम, फ़ाइल सूची रंग आदि को याद कर रहे हैं, तो यह जांचें कि यदि यह फ़ाइल आपके होम डायरेक्टरी में मौजूद है, तो इसे फिर से नाम दें और अपने कंसोल को फिर से खोलें। इसे ठीक करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.