linux——有关权限的话题。——权限掩码——默认文件权限的理解/文件共享、粘滞位
专栏链接:《C++学习》、《Linux学习》

文章目录
- 有关权限的话题
- 一、为什么创建文件就是我们看到的权限
- 1.普通文件没有执行的权限
- 2.权限掩码的引入
- 粘滞位——引入粘滞位前的两个话题
- 一、文件删除的话题
- 1.rwx由文件决定删除由目录决定
- 二、文件共享话题
- 1.文件共享——粘滞位
有关权限的话题
一、为什么创建文件就是我们看到的权限
新建文件和目录
[lijiaye@VM-24-16-centos ~]$ mkdir 11-2
[lijiaye@VM-24-16-centos ~]$ cd 11-2
[lijiaye@VM-24-16-centos 11-2]$ mkdir file
[lijiaye@VM-24-16-centos 11-2]$ touch file.txt
[lijiaye@VM-24-16-centos 11-2]$ ll
我们可以看到默认权限
普通文件权限为664
目录文件为775
drwxrwxr-x 2 lijiaye lijiaye 4096 Nov 2 09:10 file
-rw-rw-r-- 1 lijiaye lijiaye 0 Nov 2 09:11 file.txt
1.普通文件没有执行的权限
普通文件不给x的原因是-> 大部分文件都没有执行的权限
只有当这个文件是二进制文件的时候才有可执行的权限
因此普通文件一般不给x。
如有需要可以chmod自己加上x权限
[lijiaye@VM-24-16-centos 11-2]$ chmod u+x,g+x,o+x file.txt
[lijiaye@VM-24-16-centos 11-2]$ ll
total 4
drwxrwxr-x 2 lijiaye lijiaye 4096 Nov 2 09:10 file
-rwxrwxr-x 1 lijiaye lijiaye 0 Nov 2 09:11 file.txt
2.权限掩码的引入
普通文件没有执行的起始权限因此普通文件的权限为666,目录的起始权限为777
那么为什么我们看到的却是664 和775呢?
文件的权限==起始权限-权限掩码
权限掩码的指令
查看权限掩码 umask
修改权限掩码 umask+掩码
[lijiaye@VM-24-16-centos 11-2]$ umask
0002
[lijiaye@VM-24-16-centos 11-2]$ umask 0007
[lijiaye@VM-24-16-centos 11-2]$ umask
0007
[lijiaye@VM-24-16-centos 11-2]$ umask
0002
[lijiaye@VM-24-16-centos 11-2]$ touch a1[lijiaye@VM-24-16-centos 11-2]$ umask 0007
[lijiaye@VM-24-16-centos 11-2]$ touch a2
默认权限掩码下的a1
和修改权限掩码下的a2
其文件权限如下
-rw-rw-r-- 1 lijiaye lijiaye 0 Nov 2 09:20 a1
-rw-rw---- 1 lijiaye lijiaye 0 Nov 2 09:20 a2
- 权限掩码存在的意义
方便满足各种个性化的需求、提供更多的灵活性
- 权限掩码的三个细节
1.不同系统不同用户、umask可能不一样
2.当你退出系统重新登录的时候umask就重新会恢复默认0002
3.umask适合批量修改权限
粘滞位——引入粘滞位前的两个话题
一、文件删除的话题
1.rwx由文件决定删除由目录决定

看上面的图,3个文件的所有者和所属组他们都不归whb这个用户管
whb对于这三个文件没有rwx权限。但是却可以删除文件?
这合理吗??
- root创建用户other不可rwx但可以删为什么?
rwx由文件决定
但是删除文件不由木匾问价你决定,删除文件和它的上级目录有关
删除文件 需要看这个文件的目录。->还需要看这个文件的目录的目录->…………最后需要看这个文件的家目录
这里举一个例子方便理解
家目录就好比我家,权限就好比邻居的行为,文件就好比洗衣机
有一天邻居把一堆脏衣服扔到了我家的洗衣机。邻居不让你动它的脏衣服,你没有对脏衣服的任何权限。但是你一怒之下直接把它的脏衣服从自己家的洗衣机里扔了出去。为什么?因为这是自己的家。仍衣服、删除权限不需要看邻居赋予你什么权限。而是得看这是谁得家。
二、文件共享话题
由上述文件删除不由文件决定由文件得目录决定,我们可以引出
文件共享应该设置再非家目录得文件夹里。这样就保证了多个用户都有删除得权力
那么问题就又来了,如果文件设置再非家目录文件夹里,那用户不就谁的文件都可以删除了吗?这不就是安全隐患嘛???
1.文件共享——粘滞位

- 粘滞位设置之后可以实现下面2个点
1.任何人都可以再共享文件下面rwx
2.但是自己只能够删除自己得文件夹、目录
粘滞位一般是由root超级用户所做的工作。
root超级用户可以给任意用户设置粘滞位。以此用来管理不同用户的权限问题。
另外这里补充tmp目录是自带粘滞位的
因此共享文件一般通常创建在这个文件夹里面。
