【lesson5】linux常见权限问题

文章目录

  • 目录权限
  • umask
  • 粘滞位

目录权限

先来思考一个问题:
进入一个目录需要什么权限呢?
【lesson5】linux常见权限问题_第1张图片
由上图我们可以得知,进入目录需要x权限,那么没有r和w权限是什么情况呢?
【lesson5】linux常见权限问题_第2张图片
从图中我们可以得知没有r权限不能查看目录里面的内容,没有w权限不能在目录里面删除或者创建文件
这里不知道大家有没有疑惑,我是目录的拥有者没有了x不能进入目录,但是我同时还是文件的所属组啊,所属组还有x权限为什么不能进入?
【lesson5】linux常见权限问题_第3张图片
因为权限只被认定一次,当拥有者和所属组是同一个人,拥有者没有x权限的时候,操作系统便不再进行之后的认定。

umask

我们知道linux权限可以用八进制表示和更改。
linux默认起始权限:
创建一个目录,目录的起始权限:777
创建一个普通文件,普通文件的起始权限:666

但是我们去linux下实际操作一下发现有所不同。
【lesson5】linux常见权限问题_第4张图片
我们会发现,目录的实际起始权限为775,而普通文件的实际起始权限为664.
那么为什么会与实际创建的不同?
因为umask(权限掩网)的存在。
在这里插入图片描述
我们只看umask的后三位,凡是在umask中出现的权限,都不应该在最终权限中出现。
演示:
【lesson5】linux常见权限问题_第5张图片
所以最终权限 = 起始权限 & (~umask)

粘滞位

使用场景:
当多个普通用户共享一个目录,需要在该目录下,进行读、写、创建或者删除文件。
【lesson5】linux常见权限问题_第6张图片
为什么在那个目录下我们可以删除不是本用户的文件呢?
因为那个对所有人开放了所有的权限
【lesson5】linux常见权限问题_第7张图片
如果我们要想别人不删除我们的文件我们也可以去掉w权限,但是这样就失去意义了,就不满足多用户共享的条件了。
那该如何解决呢?
这时候就需要粘滞位登场了。
我们给共享目录加上粘滞位就可以了
【lesson5】linux常见权限问题_第8张图片
上面就是加粘滞位的方法。
下面测试一下粘滞位是否有效。
【lesson5】linux常见权限问题_第9张图片
由上图可以看出粘滞位确实有效,谁的文件只能由谁删除
那么目录的粘滞位,其他人可以去掉吗
【lesson5】linux常见权限问题_第10张图片
我们发现,其它用户没有这个权限,谁加的粘滞位只能由谁删除
目录有粘滞位,目录的文件只能由一下几类人删除:
1、root
2、目录所有者
3、文件所有者

你可能感兴趣的:(linux,linux,运维,服务器)