【Linux学习笔记】34:登录时生效的环境变量配置文件 上

来源:互联网 发布:医疗大数据国内外现状 编辑:程序博客网 时间:2024/05/18 01:53

笔记34-35节总览

登录时生效的环境变量配置文件 主要作用 /etc/profile PATH,USER,LOGNAME,MAIL,HOSTNAME,HISTSIZE,HISTCONTROL,umask /etc/profile.d/*.sh /etc/profile.d/这个目录下的所有后缀名为sh的文件,课程中只学习其中的lang.sh这个文件 ~/.bash_profile 在PATH变量后加入了$HOME/bin这个目录 ~/.bashrc 用alias定义了命令别名 /etc/bashrc PS1,非正常登陆的PATH,非正常登陆的umask,非正常登录的PS1


下面这张图展示了正常登陆过程(输入用户名密码的登陆)中这几个配置文件加载、调用的顺序:
这里写图片描述
还有一种登陆过程是不正常的,如用su命令切换用户。在超级用户用su命令切换到普通用户是不需要输入密码的,这时候就不会完成上面图中的流程,而是按下面红线这样加载:
这里写图片描述

[1]/etc/profile

这个配置文件是针对正常登陆的。
这里写图片描述
这里写图片描述
这里写图片描述
可以从最后一个红圈处看到,主机名HOSTNAME,快捷路径PATH,历史命令条数HISTSIZE等环境变量都在这个文件中。

关于umask

在前面那个配置文件的第二张图中可以看到umask,它直接使用时可以查看系统默认权限:

[root@bogon ~]# umask0022

这里第一个0定义的是系统的特殊权限(SUID等),后面三位022表示:如果我新建一个文件或目录,这个文件或目录的初始权限通过这个值来定义。
这里写图片描述

*规则
①创建的文件默认最高权限为666
②创建的目录默认最高权限为777
③权限不能使用数字进行换算,而必须使用字母
④umask定义的权限,是系统默认权限中准备丢弃的权限

*对规则的解释
①系统不允许文件一被创建就可以执行,所以一开始创建的最大权限是6(rw-),如果想让文件可以执行,那么手工赋予执行权限。
②对目录而言,执行权限表示进入这个目录,所以一开始创建的最大权限是7(rwx)。
③有人说创建出的文件或目录的默认权限就是666或者777去减去umask后三位的值(022),所以图中的默认权限是755(rwxr-xr-x)和655(rw-r-xr-x),这种说法是错误的。试想如果umask后三位=033,那么根据这种说法得到的文件默认权限应该是633(rw–wx-wx)具有执行权限,显然是不符合①的。权限是不能用数字直接进行计算的,而必须使用字母。666(rw-rw-rw-)相比022(—-w–w-)每一位对应的权限如果相同就删掉,得到的就是rw-r–r–,这也就是上图中看到的文件的默认权限。
④这句话在③中已经得到了解释,umask定义的权限正是系统要丢弃(比较,如果相同就删除)的。

阅读全文
0 0