首先说明几点:
1.linux登录分交互式和非交互式,交互式就是一般常用的用用户名和密码直接登录;非交互式的则是用户不直接登录而是系统自动加载shell完成一些脚本。
2.用户登录时系统读取的文件一般有:/etc/profile,/etc/profile.d/*,/etc/bashrc,~/.bash_profile,~/.bashrc。一般含profile都是交互式要读取的,大多放置环境变量的定义;而bashrc是非交互式要读取的,大多放置别名等定义。
3.交互式和非交互式读取文件的顺序是不同的,此顺序非常关键,因为后面读取文件的内容会覆盖前面读取的文件的内容。
交互式:/etc/profile --> /etc/profile.d/* --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非交互式:~/.bashrc --> /etc/bashrc --> /etc/profile.d/*
我们以为chickenlxg用户添加一个欢迎信息为例:
首先建立我们的chickenlxg用户
[root@localhost~]# useradd chickenlxg
[root@localhost~]# passwd chickenlxg
创建提供欢迎语句的shell脚本
[root@localhost~]#cd /home/chickenlxg
[root@localhostchickenlxg]# vim welcome.sh
#!/bin/bash
echo"Welcome $USER"
~
~
~
给welcome.sh添加执行权限并更改其属主属组为chickenlxg
[root@localhostchickenlxg]# chmod u+x welcome.sh
[root@localhostchickenlxg]# chown chickenlxg:chickenlxg welcome.sh
将执行welcome.sh的语句加入chickenlxg的家目录中的.bashrc中
[root@localhostchickenlxg]# vim .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
/home/chickenlxg/welcome.sh
切换到chickenlxg用户看下效果
[root@localhostchickenlxg]# su - chickenlxg
Welcome chickenlxg
[chickenlxg@localhost~]$
扩展应用:可以为系统的不同用户提供各方面,比如磁盘空间使用情况、邮件提醒等登录提醒等服务。