On one of my Ubuntu 11.10 servers, when I use sudo -i
to become the root user, root's .bashrc is not being executed. On all other servers, whose relevant configurations are identical as far as I know, it is being executed properly.
Here's what I've checked:
- .bashrc exists in /root, owned by root:root, permissions 644
- /etc/profile and /etc/bash.bashrc are being executed
- root's shell is set to "/bin/bash"
- I can execute .bashrc with
source .bashrc
, after which everything is normal for that session. - I can also type
bash
to execute bash manually after I've sudoed to root, and .bashrc is then executed - ps confirms that the running shell for my root login is bash.
Anything else to check?
Best Answer
You should look at the presence and content of the file
/root/.profile
.The init file
~/.bashrc
is not sourced in login shells: on Ubuntu it is sourced from~/.profile
Furthermore, the file
/root/.profile
is not copied from/etc/skel/
as for other users, it is instead copied from/usr/share/base-files/dot.profile
during installation of packagebase-files
.