.Bashrc рута не выполняется на sudo -i

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

Вот что я проверил:

  • .bashrc существует в / root и принадлежит root: root, разрешения 644
  • / etc / profile и / etc / bash. bashrc выполняются
  • Корневая оболочка установлена ​​на "/ bin / bash"
  • Я могу выполнить .bashrc с помощью source .bashrc, после чего все нормально для этого сессия.
  • Я также могу напечатать bash, чтобы выполнить bash вручную после того, как выполнил sudoed для root, и затем выполнить .bashrc
  • ps подтверждает, что для моей учетной записи root для запуска root используется bash.

Что-нибудь еще проверить?

11
задан 31 January 2012 в 14:16

2 ответа

Вы должны посмотреть на наличие и содержание файла /root/.profile.

Файл инициализации ~/.bashrc не получен из оболочек входа в систему: в Ubuntu он получен из ~/.profile

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

0
ответ дан 31 January 2012 в 14:16

Есть еще одна ситуация, о которой вы должны помнить, которая произошла в моем случае.

Если вы создадите файл .bash_profile, то этот файл берет на себя ответственность за загрузку / выполнение .bashrc или .profile.

Когда вы открываете свой терминал и используете "sudo -i", и вам вдруг не хватает некоторых псевдонимов команд, раскраски списка файлов и т. Д., Затем дважды проверьте, присутствует ли этот файл в вашем домашнем каталоге, затем переименуйте его и снова откройте ваш снова утешить Это должно это исправить.

0
ответ дан 31 January 2012 в 14:16

Другие вопросы по тегам:

Похожие вопросы: