新服务器的系统默认只有一个root账户可以登陆,虽然是改了端口的,但这属实是危险。
于是就添加了一个新普通用户,并且禁止了root账户登陆。当普通用户登陆的时候,却没有去读取.bashrc中的配置,那些带颜色的命令依然不生效。无奈就研究了一下Linux用户登陆读取配置文件过程:
一、shell的区分
1、登录式shell
正常通过某终端登录
su – USERNAME
su -l USERNAME
2、非登录式shell
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
二、用户登录时相关的bash配置文件
1、全局配置文件
/etc/profile 设定环境变量 运行命令或脚本
/etc/profile.d/*.sh
/etc/bashrc 设定本地变量 定义命令别名
2、个人配置文件
~/.bsah_profile 设定环境变量 运行命令或脚本
~/.bashrc 设定本地变量 定义命令别名
三、用户登录时加载bash配置文件的过程
1、登录式shell加载配置文件过程
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc
2、非登录式shell加载配置文件过程
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh
既然了解了这个过程,那解决我的需求就比较简单了,把配置好的root的.bash_profile和.bashrc都复制到新用户目录下(有些系统没有.bash_profile,只有.profile,使用是一样的效果),修改好宿主权限,重新登陆,OK,彩色命令又回来了。