Root's .bashrc не виконується на sudo -i


11

На одному з моїх серверів Ubuntu 11.10, коли я sudo -iстав користувачем root, коріння .bashrc не виконується. На всіх інших серверах, чиї відповідні конфігурації однакові, наскільки я знаю, він виконується належним чином.

Ось що я перевірив:

  • .bashrc існує в / root, що належить root: root, дозволи 644
  • / І т.д. / профіль і /etc/bash.bashrc які виконуються
  • оболонку кореня встановлено на "/ bin / bash"
  • Я можу виконати .bashrc з source .bashrc, після чого все нормально для цього сеансу.
  • Я також можу набрати, bashщоб виконати bash вручну після того, як я надійшов на root, і потім .bashrc виконується
  • ps підтверджує, що запущена оболонка для мого входу в систему - bash.

Що ще перевірити?

Відповіді:


10

Ви повинні подивитися на наявність та вміст файлу /root/.profile.

Файл init ~/.bashrcне розміщується в оболонках входу: в Ubuntu він отримується з~/.profile

Крім того, файл /root/.profileне скопіюється з /etc/skel/інших користувачів, а скопіюється з нього /usr/share/base-files/dot.profileпід час встановлення пакета base-files.


3

Є ще одна ситуація, про яку слід пам’ятати, що трапилася в моєму випадку.

Якщо ви створили .bash_profileфайл, то цей файл бере на себе відповідальність за завантаження / виконання .bashrcабо .profile.

Коли ви відкриваєте свій термінал і використовуєте, "sudo -i"і вам раптом не вистачає деяких псевдонімів команд, забарвлення списку файлів тощо. Це повинно це виправити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.