这篇文章主要理解权限的概念,以及如何更改权限,和有时候关于权限方面的指令不被允许的原因。
目录
一.Linux权限的概念:
权限=用户+文件/目录的属性
ll指令,或者ls -l可以查看文件的权限信息。
1.用户:
一个文件,目录,有三个分类:
1.user(u)文件拥有者。
2.Group(g)文件的所属组。
3.Other(o)其他用户。
在用户匹配的过程中,只能匹配一次,从先到后,先是拥有者,然后是所属组,后面是其他人。
也就是说,要不就是拥有者,要不就是所属组,要不就是其他人。
比如首先匹配的是拥有者,对于拥有者没有的权限,而所属组有的权限,拥有者也是没有的。
对于不同的用户,因为会在文件/目录的1.拥有者2.所属组3.其他用户,这三个用户变化,所以不同的用户,权限可能不同。
注意:上面的用户是针对普通用户的,超级用户root无视权限。
下面这个,前面的是这个文件或者目录的拥有者,后面的是文件/目录的所属组。
2.文件/目录属性:
一个文件/目录,我们可以更改拥有者,所属组,其他人,这三个类别的权限来改变权限。
对于文件/目录,有三个权限,r权限,w权限,x权限。有三个组别,那就有九个字母,-表示不存在这一权限。
比如:
先不管最前面的字母。
1.上面test.cpp的权限是:前面三个是拥有者的权限(rw-)表明这个文件的拥有者有r权限和w权限,没有x权限。
2.中间的三个字母(r--),表示所属组有r权限,没有w权限和x权限。
3.后面的三个字母,表示其他人的权限,也是(r--)也只有r权限。
1.r权限:
对于文件来说,有r权限,那就可以读取文件的内容可以进入文件看,但是不能修改。对于目录来说,就可以列举查看目录下的子目录/子文件的信息。
2.w权限:
对于文件来说,w权限可以在文件中写东西,对于目录来说,可以在这一目录下,新建或者删除目录下的子文件/子目录。
3.x权限:
对于文件来说,是执行权限。
注意:一个文件要能执行,不光要有x权限,而且要这个文件本身就是可以执行的。
对于目录在说,x权限是可以进入这一目录。
二.更改权限: 1.更改rwx权限:
chmod:
功能:设置文件的访问权限。
格式:chmod [参数] 权限 文件名。
常用选项:
●R 递归修改目录文件的权限。
注意:只有文件的拥有者,和root(超级用户)可以更改。
参数有:+-=
u:拥有者。
g:所属组。
o:其他用户。
a:所以用户。
例如:
让u(拥有者加上x权限)
更改方式也可以用三个八进制位。
r:100(十进制:4),w:010(2),x:001(1)。