Root .bashrc nie działa w sudo -i

10

Na jednym z serwerów Ubuntu 11.10, gdy używam sudo -i , aby zostać użytkownikiem root, root .bashrc root'a nie jest wykonywany. Na wszystkich innych serwerach, których odpowiednie konfiguracje są identyczne, o ile wiem, jest on poprawnie wykonywany.

Oto, co sprawdziłem:

  • .bashrc istnieje w katalogu / root, którego właścicielem jest root: root, uprawnienia 644
  • / etc / profile i /etc/bash.bashrc wykonywane
  • Powłoka roota jest ustawiona na "/ bin / bash"
  • Mogę wykonać .bashrc z source .bashrc , po którym wszystko jest normalne dla tej sesji.
  • Mogę również wpisać bash , aby ręcznie uruchomić bash po zakończeniu migracji do roota, a następnie uruchomi się .bashrc
  • ps potwierdza, że ​​uruchomioną powłoką dla mojego logowania root jest bash.

Coś jeszcze do sprawdzenia?

    
zadawane Mike Scott 31.01.2012, 11:16
źródło

2 odpowiedzi

8

Powinieneś spojrzeć na obecność i zawartość pliku /root/.profile .

Plik init ~/.bashrc nie jest dostarczany z powłokami logowania: w systemie Ubuntu pochodzi z ~/.profile

Ponadto plik /root/.profile nie jest kopiowany z /etc/skel/ , jak dla innych użytkowników, jest kopiowany z /usr/share/base-files/dot.profile podczas instalacji pakietu base-files .

    
odpowiedział enzotib 31.01.2012, 12:22
źródło
3

Jest jedna dodatkowa sytuacja, o której powinieneś pamiętać, co miało miejsce w moim przypadku.

Jeśli utworzysz plik .bash_profile , to ten plik przejmuje odpowiedzialność za załadowanie / wykonanie .bashrc lub .profile .

Po otwarciu terminala i użyciu "sudo -i" nagle brakuje niektórych aliasów poleceń, kolorowania listy plików itp., a następnie sprawdź, czy plik jest obecny w twoim katalogu domowym, a następnie zmień jego nazwę i ponownie otwórz konsolę. To powinno naprawić.

    
odpowiedział Pawel Barcik 05.02.2012, 22:42
źródło

Przeczytaj inne pytania na temat tagów