目录
一:Linux下的两个用户
二:权限
1:目录文件
文件创建的默认权限
2:普通文件
一:Linux下的两个用户
在使用Linux的时候会有两个身份,第一个是普通用户,普通用户在很多方面是受阻的,原因就是权限不够,在这种情况下就有一个超级用户,也就是我们的root超级管理员。在windows中也会有一个管理员的身份,但是虽说是管理员,但是在很多方面是干不了的,比如说你要删掉自己的操作系统(没事也不会这么干),或者说你想去格式化你的系统盘,Windows下都会阻止你的这些自残行为,但是在Linux下,你要是用root的身份来干某些事是完全没有问题的,你甚至可以把自己给干掉,那么说了这么多,接下来我们就一起好好了解关于Linux的root用户以及它的权限问题。
二:权限
1:目录文件
当我们在Linux下创建一个目录文件的时候,通常会看见在文件的前面还有一堆东西
那么这文件前面的数字都代表什么呢,我们先简单做个了解。首先是第一个d,它代表的是这是一个目录文件,这个很容易理解,那么d后面可以看到有rwxr-xr-x。这又是什么呢。这其实代表的是你的权限
r:read 可读
w:writh 可写
x:excute 可执行
-:对应权限位置,没有权限
然后是后面的root,root分别代表的是拥有者,所属组。在后面的就代表这个文件的大小单位位字节,字节后面就是最近一次修改文件时间,最后是文件名。
回头我们再来看,为什么是(rwx) (r-x) (r-x),其实在分组的时候是三三分为一组,也就是rwx是拥有者的权限,r-x是所属组的权限,r-x是其他人拥有的权限。
但是说你身为文件的拥有者,你下面的小弟所属组你不想让它知道你老大在想什么其实也是可以的。那么我们就可以用一个指令来强制你的小弟跟着你只能干活(可执行),此时的chmod指令就可以很好的完成这一任务。这里可以有两种方式去修改下面小弟的权限,我们先讲第一种
chmod u(拥有者) g(所属组) o(其他)我们只需要对应的减去权限就可以了,比如说我要让所属组没有可读权限就可以写成 chmod g-r test
第二种方法:rwx其实对应的是一个八进制(0000),我们去掉第一个0,就可以把权限这样划分
rwx:111
r-x:101
r--:100
也就是说拥有所有的权限也就是7。所以我们如果要把所有的人改成拥有所有权限的话就可以直接写chmod 777 (文件名)这两种都可以改,完全取决于个人爱好。
文件创建的默认权限
当一个目录文件被创建出来的时候其实它的权限是777的,但是当我们去看的时候会发现,它并不是777,而是少了一些权限,其实这中间有一个名为umask(权限掩码)的东西,它的值在每个电脑上可能都不一样,我们也可以在自己电脑看一看自己的umask是多少,
在指令中输入umask就行,它也可以被修改,也是只需要写入umask命令后面跟你的八进制序列就好了。
在一个目录文件被创建出来的时候umask上对应的权限是会被取消的,它的计算是
最终权限=起始权限&(~umask)
2:普通文件
普通文件问就是我们的一些文本文件,可执行文件等。它的权限基本于上面一样,只是开头不是d而是-开头,并且它的初始权限是666,同样也是需要计算对应的权限掩码之后才会得到这个普通文件真正的权限。