您的位置:首页 > 运维架构 > Linux

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

2017-09-03 23:02 507 查看

笔记34-35节总览

登录时生效的环境变量配置文件主要作用
/etc/profilePATH,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/bashrcPS1,非正常登陆的PATH,非正常登陆的umask,非正常登录的PS1
下面这张图展示了正常登陆过程(输入用户名密码的登陆)中这几个配置文件加载、调用的顺序:



还有一种登陆过程是不正常的,如用su命令切换用户。在超级用户用su命令切换到普通用户是不需要输入密码的,这时候就不会完成上面图中的流程,而是按下面红线这样加载:



[1]/etc/profile

这个配置文件是针对正常登陆的。







可以从最后一个红圈处看到,主机名HOSTNAME,快捷路径PATH,历史命令条数HISTSIZE等环境变量都在这个文件中。

[b]关于umask

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

[root@bogon ~]# umask
0022


这里第一个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定义的权限正是系统要丢弃(比较,如果相同就删除)的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: