El .bashrc de Root no se ejecuta en sudo -i

11

En uno de mis servidores Ubuntu 11.10, cuando uso sudo -ipara convertirme en usuario root, el .bashrc de root no se está ejecutando. En todos los demás servidores, cuyas configuraciones relevantes son idénticas hasta donde yo sé, se está ejecutando correctamente.

Esto es lo que he comprobado:

  • .bashrc existe en / root, propiedad de root: root, permisos 644
  • / etc / profile y /etc/bash.bashrc se están ejecutando
  • el shell de root está configurado en "/ bin / bash"
  • Puedo ejecutar .bashrc con source .bashrc, después de lo cual todo es normal para esa sesión.
  • También puedo escribir bashpara ejecutar bash manualmente después de haber sudo en la raíz, y luego se ejecuta .bashrc
  • ps confirma que el shell en ejecución para mi inicio de sesión raíz es bash.

¿Algo más para verificar?

Mike Scott
fuente

Respuestas:

10

Debe observar la presencia y el contenido del archivo /root/.profile.

El archivo init ~/.bashrcno se origina en los shells de inicio de sesión: en Ubuntu se obtiene de~/.profile

Además, el archivo /root/.profileno se copia /etc/skel/como para otros usuarios, sino que se copia /usr/share/base-files/dot.profiledurante la instalación del paquete base-files.

enzotib
fuente
3

Hay una situación adicional que debe tener en cuenta, que sucedió en mi caso.

Si desea crear un .bash_profilearchivo, este archivo asume la responsabilidad de cargar / ejecutar .bashrco .profile.

Cuando abra su terminal y use "sudo -i"y de repente se pierda algunos alias de comando, color de lista de archivos, etc., luego verifique si este archivo está presente en su directorio de inicio, luego cámbiele el nombre y vuelva a abrir su consola. Esto debería arreglarlo.

Pawel Barcik
fuente