目录
1.用户切换
2.权限
(1)权限介绍
(2)文件类型
(3)权限组成
(4)权限修改
(5)重新认识
(6)底层操作
(一)起始权限
(二)目录权限
(三)粘滞位
1.用户切换
(1)我们直接登录普通账户,我们可以切换到root账户吗,就是超级管理员,使用的切换方法就是su指令,这个指令输入之后,按下neter键之后这个就需要我们输入这个root账号的密码,输入之后就可以切换到root账户;
(2)在root账户里面,我们使用ctrl+D命令去切换回去普通账户;
2.权限
(1)权限介绍
我们在日常的生活里面讲的权限指的就是这个某一个人是否可以做某一件事情,可以做这件事情我们就说这个人具有做这件事情的权限,反之我们称这个人没有这个权限;
(2)文件类型
在linux里面,权限是和事物的属性相关的,像我们之前介绍的文件的属性,被划分为文件的可读性,可写性,文件的可执行性,我们使用这个ll指令显示的内容就是这个文件的相关属性,第一个字母有很多种类型,我们上面的这个图片里面显示的就是d和短杠-,其中这个d表示的就是目录文件,除此之外,还有以b开头的表示这个磁盘文件,也叫做块设备文件,c表示字符设备文件,例如我们经常说的键盘,以及相关的显示器文件等等,p表示的就是用来实施通信功能的管道文件;
(3)权限组成
权限划分为这个角色和对应的属性,我们上面已经介绍过这个ll指令之后的,-和d表示的这个文件的相关的类型,后面这个还有9个字符,我们需要三个三个的进行读写,角色分为这个拥有者,所属者,other类型,这三个就是角色的三个类型;对应的属性就是r表示读的属性,w表示具有写的属性,x表示具有修改的属性,这九个字符的顺序就是拥有者,所属者,other权限,像这个rw-表示具有读的权限,具有写的权限,但是没有修改的权限,-表示的就是没有这个对应的权限,这九个分别表示的就是拥有者,所属者,还有other类型的人,这10个字符非常简明的表示了这个文件的类型,以及这个拥有者,所属者,other的权限;
但是超级管理员root是可以对于这个文件进行修改的,如果我们没有权限,但是还要进行,这个时候系统显示出来这个permission denied内容,表示我们的这个权限是不具备的;
(4)权限修改
这个有两个方式:一个就是使用的chmod指令,这个指令的后面跟的就是这个想要添加或者删除的权限,u+x表示的就是对于第一个拥有者添加修改的权限,r就是读的权限,read,write即以w开头的就是表示的写的权限,x表示的就是可以修改的权限,这个英文单词没有查到;
对于这个角色有三个权限的设置,u表示的就是拥有者的权限;
0就是这个角色里面的other角色类型;+x表示的就是对于这个角色添加上修改的权限;
g表示的就是所属组,g+x表示就是对于这个所属组的权限添加上修改的权限,当然,对于已经拥有的权限,我们可以使用减法取消这个权限;
还有一个需要注意的事项就是这个a+w,这个时候不会管是什么角色,所有的角色都会去添加上w即写的权限;
第二种权限的修改方法就是这个使用八进制的方式进行修改,因为三个角色对应的就是9个字符,每一个角色对应的就是读写修改权限,所以我们可以使用二进制的方式进行这个权限的修改,最后把这个二进制修改为八进制的方式,举一个例子说明一下:111 110 110表示的就是这个拥有者有这个读写修改的权限,所属者只有读写权限,没有修改的权限,因为这个第六个二进制的位置是0,表示的就是没有这个对应的权限,同理这个other组也是只有读写权限,没有修改的权限;
这个是用完成之后,在修改为对应的八进制序列,就是766,我们只需要使用这个chmod 766加上这个对应的文件的名字,就可以去修改这个角色的权限;
在看一个极端一点的例子,我们想要取消这个所有的角色的所用的权限,这个就是000加上文件的名字,这个时候,无论是拥有者,组织者,还是other都是没有了任何权限;
使用chmod 777 文件名,就是对于这个所有的角色,添加所有的权限,包括读写和修改的权限;
(5)重新认识
我们的一个普通账户,我们一般是既作为一个拥有者,也作为一个所属组,但是当我们这个对应的属性是r--rw--r--表示的就是这个拥有者和other具有读的权限,所属组具有写的权限,但是当我们想要去对于这个文件的内容区进行修改的时候,这个是不被允许的,因为我们对于这个文件的操作只能基于一个身份,不可以既是某一个,又是另外一个;我们这个只会有普通用户这个r权限,我们是不可以对于这个文件的内容进行写入的;这个时候根本就不会去看这个所属组的权限,因为我们对于这个文件进行操作的时候只能拥有一个角色;
当我们把这个文件的拥有者修改为其他的人之后,我们就不是这个文件的拥有者了,而是这个文件的所属者,我们这个时候就可以使用w对于这个文件的内容进行相应的写入,因为这个时候我们的拥有者的角色已经不存在了,所以这个时候就会去看我们的所属组的角色;
(6)底层操作
(一)起始权限
我们创建一个文件,文件夹,这个其实的时候是有自己的默认的权限的,我们接下来解释一下为什么起始的时候是这个权限;
-表示的就是普通文件,这个普通文件664表示前面的两个角色具有rw权限other只具有读的权限;
d表示这个目录文件,目录文件是775,前面的两个角色具有的是rwx权限,other具有的事rx权限,不具有写的权限,这个是因为权限掩码的存在导致的,就是我们的这个普通文件默认的666和这个权限掩码的反码做与运算,默认的目录文件777和这个权限掩码的反码做与运算,这样就可以得到我们的看到的默认的文件权限;
(二)目录权限
我们的这个文件的读写权限以及这个修改的权限是很容易理解的,但是对于我们使用mkdir指令创建一个新的文件夹而言,这个rwx权限代表的究竟是什么意思呢?
实际上这个r权限表示我们可以查看这个目录下面的文件的内容;
w权限表示我们可以允许在当前的目录下进行这个创建修改和删除;
x权限表示的就是我们可以进入这个目录;
实际上我们可以进行尝试,当我们没有这个rw权限的时候,这个是不妨碍我们进入这个文件夹的,但是当我们的这个没有x权限的时候,我们是没有办法进入这个文件夹的;
(三)粘滞位
家目录:我们一般创建的这个目录都是在家目录下面的,但是这个时候其他的人都是作为other的,是不具有这个读的权限的,这个时候我们需要把这个文件夹创建在temo目录里面;
temp目录:在这个目录里面创建文件夹之后,我们的这个文件夹是可以被共享的,其他的认识可以看的,但是这个时候其他的人也是具有这个删除的权限的,我们的粘滞键的作用就是这个这个人可以看和不可以看都是有我们使用所有者进行设置,而且不能让这个和我们共享的人去删除这个文件,这个是一种特殊的权限;
我们给这个共享文件的o添加上t,这个t就是一个粘滞位,这个时候,我们这些共享的人员可以在自己的目录下面创建文件,但是我们不能把这个共享文件删除;