老男孩Linux高端运维课程-linux系统文件权限体系实战讲解

对于上一节的回顾:


umask:控制linux系统默认权限的一个命令。

file:644.(默认)

dir:755.(默认)

改变文件及目录的默认权限:

umask 044 033

如何计算新umask下,文件及目录的默认权限。

目录:

777-umask=

文件:

umask的每个位都为偶数的情况,666-umask=

umask的数字中有奇数的情况,666-unask,然后把umask对应数字的奇数位加1。


5.5setuid和setgid位。

5.3.3 chmod字符式权限表示法。




chown:

当只改变用户组的时候,chown .hsp a.sh和chgrp hsp a.sh是一样的含义。



chmod:改变文件访问权限,分为数字和字符表示法,-R递归。

chown:改变文件拥有者以及用户组。-R递归。

chgrp:改变用户组。-R递归。(几乎不用。)

chown -R hsp.hsp hsp:把目录hsp中的所有文件的主用户,用户组全部改为hsp。(-R是递归的意思。)


演示环境:

先删除oldboy和oldgirl。

一个家庭(用户组)incahome:家庭成员oldboy,oldgirl。


如果存在这种问题(如下图):


解决方法:


文件的拥有者对文件的管理基本上都是特殊(再修改完文件时可以强制执行保存退出,用户组就按照权限(不能强制保存退出)来了。)的。


文件的属性放在inode里边,文件名在上一级目录的block里面,文件的权限在inode里面。通过文件,文件名,可以找到inode,有权限的话才能找到block内容。我们访问文件都是看文件的权限,而删除文件都是删除的文件名。文件名在上一级的目录的block里面放着。受上一级目录的inode控制的。所以删除的时候要看上一级目录的权限的。注:删除文件跟文件权限没有关系。

所以一般的用户组都删除掉,除非使用chown(如下图),odboy才可以删掉test.sh:



结论:

乐读:




虽然提示没有权限,但是可以看到文件名。

目录属性(实际操作):

dr-xr-xr-x:主用户,用户组,其他的人都能进入,查看,但是不能创建和删除。



d--x--x--x:不能列表(ls),但可以进去,不能创建,不能删除。




dr--r--r--:可以显示内容但是报错,也就是说没有x是不正常显示的。




d-wx-wx-wx:test目录颜色会变。可以进去test目录,但是闭着眼睛创建。(相当于创建之后但是看不到。)

变颜色(一个很好玩的东西)。


下面是例子:




drwxrw-r-x:ll cd  touch ls ls -l  rm -rf 进不去也就不能创建。


上图:

oldboy是主用户,任何功能都能使用。


对于上图:

不能列表,不能进入,不能创建,也不能删除。


对于上图:

能列表,能进入,不能创建,不能删除。

对以上总结:


改变默认情况下的创建目录(755),文件(644)的权限。




正常情况下:root的umask的umask是0022,普通用户的umask是0002.

root下的创建文件(644),目录(755):


普通用户下的创建文件(664),目录(775):


解决方法:






但是会出现错误,错误如下:



错误的解决方法:

对于目录来讲,没有影响。

对于文件来讲当umask的位上是奇数时,得出的结果加上1。如下图:


图表:




注意:普通用户的umask未必是002,除非满足下面的条件:



gu=un,umask为002(普通用户)。

gn!=un,umask为022。

关于/etc/login.defs配置文件中的umask(如下图):


077为home目录的权限,777-umask(077)=700=drwx------。如下图:


特别提示:在一般的生产场景,umask的使用不多见,在此,大家了解下umask是怎么回事即可。














猜你喜欢

转载自blog.csdn.net/youmatterhsp/article/details/80449266