目录
1.Linux权限的概念
2.文件权限
3.目录权限
4.粘滞位
下面正文开始-->>
1.Linux权限的概念
linux下有两种用户,超级用户(root)和普通用户
- 超级用户:可以在Linux下做任何事情,相当于就是超管,哈哈
- 普通用户:在Linux下有权限限制,只能做有限的事情
- 超级用户的命令提示符是#,普通用户是$
用su [用户名]命令可以来切换用户
linux中文件访问者也是有分类的,下面我们先来看一下这个图

这个图中最开始的d表示这个是一个目录文件,后面我们会讲到。
然后这张图可以看出来,文件的访问者被分为了三类,分别是
- 文件的所有者
- 文件的所属组
- other(其他用户)
2.文件权限
上面我们讲到了Linux中文件的访问者有三类,现在我们再把上面的图拿过来理解一下

这个rwx到底是什么呢?其实啊,文件一般有三个权限,就是分别对应这三个字母,分别是
- r:表示读权限,对目录来说,有预览该目录内信息的权限
- w:具有写权限,对目录来说,具有删除目录内文件的权限
- x:具有执行权限,对目录来说,具有进入目录的权限
-
- :-表示的是这个所对应的访问者没有此权限
比如上面图中的第一行,拥有者rwx全有,表示有全部权限,但是other只有rx,没有w,说明other不能修改我们文件内的内容
那么文件的权限是用什么来表示的呢?其实使用的是8进制,三个为一位
比如上面的rwxrwxr-x表示出来就是111111101这个样子,转化为三位数就是775,这里给大家科普一下,其实普通文件的起始权限是666,目录文件的起始权限是777,但是我们这里不是是因为有一个权限掩码的存在,叫umask,大家想了解的可以下去自己看看,几分钟就能理解。我们最终的权限就是一个公式 :最终权限 = 起始权限 &(~权限掩码)
文件的权限也是可以修改的,这里给大家三个指令,供大家自己实践
- chomd:设置文件的访问权限,说明一点,只有文件的拥有者和超管才可以改权限哦
- chown:修改文件的拥有者
- chgrp:修改文件的所属组
这三个指令有很多用法,大家自己百度哦
3.目录权限
问大家一个问题,目录是文件吗?其实目录也是文件,那就有人要问了,那为什么要把目录的权限拿出来讲呢,不就和上面的文件一样吗?其实这里面大有文章,哈哈哈,现在告诉大家目录rwx三个权限不一样的地方.
- 可执行权限x:如果目录没有可执行权限,是无法进入目录内部的
- 可读权限r:如果目录没有可读权限,则无法查看目录文件中包含什么
- 可写权限w:如果没有可写权限,则无法在目录中创建文件,也无法删除文件
大家可以自己测试,这里无法进入可以使用cd,无法读可以使用ls,无法写可以使用touch
4.粘滞位
上面这个目录文件有一个很奇怪的问题,不知道大家发现没有,就是只要用户有目录的写权限那么就可以删除这个目录中的文件,那么有一个问题,这个目录比如是张三的,然后李四再张三的目录下新建了文件,那么,张三有目录写权限,就可以把李四的文件删除,你觉得合适吗?哈哈,下面是这个印证过程
[root@localhost ~]$ chmod 0777 /home/
[root@localhost ~]$ ls /home/ -ld
drwxrwxrwx. 3 root root 4096 9⽉ 19 15:58 /home/
[root@localhost ~]$ touch /home/root.c
[root@localhost ~]$ ls -l /home/
-rw-r--r--. 1 root root 0 9⽉ 19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9⽉ 19 15:53 litao
-rw-r--r--. 1 root root 0 9⽉ 19 15:59 root.c
[root@localhost ~]$ su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的⽂件
rm:是否删除有写保护的普通空⽂件 "/home/root.c"?y
所以为了解决这个问题,不让我们李四受到伤害,引入了粘滞位这个概念
那么如何设置粘滞位呢?
使用命令 : chomd +t
加上一个t就可以把这个文件设置粘滞位,然后我们的张三就不可以随便删除李四的文件了
这里要告诉大家,当一个目录被设置为粘滞位的时候,则该目录下的文件只能由
- 超级管理员删除
- 该目录的所有者删除
- 该文件的所有者删除
ok,这就是一个简单的对Linux中权限的认识,具体还需要大家查询更多资料,拜~~~