bash shell 登陆时的执行的用户脚本

来源:互联网 发布:淘宝一千零一夜 编辑:程序博客网 时间:2024/06/07 15:17

Login Shell

是指登录时,需要提供用户名密码的shell,如:su – user1 , 图形登录, ctrl+alt+F2-6进入的登录界面。
这种Login shell  执行脚本的顺序:
   1. /etc/profile       【全局profile文件;它定义了LoginUser的 PATH, USER, LOGNAME(登录使用者帐号)】
   2. /etc/profile.d/目录下的脚本
   3. ~/.bash_profile   【搜索命令的路径    ——————- 登录级别 环境变量配置文件 】
   4. ~/.bashrc      【存储用户设定的别名和函数 ———- shell级别 环境变量配置文件】
   5. /etc/bashrc     【全局bashrc文件; 它主要定义一些 Function 和 Alias;更改/etc/bashrc会影响到所有用户,由root用户管理。】


Non-Login shell

非登录shell指的是,不需要输入用户名密码的shell,如图形下 右键terminal,或ctrl+shift+T打开的shell
这种Non-Login shell 执行登录脚本的顺序:
   1. ~/.bashrc
   2. /etc/bashrc
   3. /etc/profile.d/目录下的脚本


tips:说到用户脚本就不能不说下,与用户密切相关的两个文件:

1. /etc/login.defs   —– 它定义了用户密码长度,最长使用期,警告天数,密码加密方法,家目录默认权限 等。
2. /etc/default/useradd  –它定义了创建用户时,默认家目录的根,默认shell,从哪里拷贝必要配置文件,是否创建邮箱等。
3./etc/skel –【.bashrc, .bash_profile, .bash_logout等文件都源自这里】
当用命令添加一个用户时,它默认会在/home/下新建一个以用户名为名的目录,并把/etc/skel下的文件
copy到这个新用户的家目录中。这样当该用户登录时,系统会自动调用这些文件,配置该用户的登录环境。

0 0