一、Linux 文件属性
命令行找一个目录,输入 ls -la
命令,查看当前目录下的全部文件及目录的所有者及相应权限,并一一进行分析。
1、 第一列解析:
最常见的是上面两种,分别是 d
和 -
:
d
:表示目录
-
:表示文件
其他符号的含义:
l
:链接文件
b
:设备文件里面的可供存储的周边设备(可按快随机读写的设备)
c
:设备文件里面的串行端口设备,如键盘、鼠标(一次性读取设备)
2、第二列到第十列解析
我们看到,这 9 列是由四种字符组成的,分别是 r
,w
,x
,-
组成。
我们首先要对这九列进行分开,每三列为一组,各代表一个身份拥有的三种权限的情况。
第二列到第四列:表示文件拥有者拥有的权限
第五列到第七列:表示加入该用户组账号拥有的权限
第六列到第十列:表示既不是文件拥有者,又不在该用户组的账号拥有的权限。
其中:
r
:代表可读(read)。
w
:代表可写(write)。
x
:代表可执行(execute)。
注意:每一个身份拥有的权限必然都是按照rwx
顺序来的。如果没有相应权限,则相应列填入-
。
举例:
文件 a.php
,第二列到第四列分别是 rwx
,则表示文件拥有者拥有可读、可写、可执行权限。
文件 a.php
,第二列到第四列分别是 r-x
,则表示文件拥有者拥有可读、不可写、可执行权限。
文件 a.php
,第二列到第四列分别是 r--
,则表示文件拥有者拥有可读、不可写、不可执行权限。
以上图的最后一个文件 webpack.min.js
为例:
第一列是-
,表示这是一个文件。
第二列到第四列是 rw-
,表示文件的拥有者root 拥有可读、可写、不可执行权限。
第五列到第七列分别是 r--
,表示文件的用户组用户 root组 拥有可读、不可写、不可执行权限。
第八列到第十列分别是 r--
,表示其他用户(既不是文件拥有者,又不是用户组成员的用户)拥有可读、不可写、不可执行权限。
再次强调:
第二列到第十列总共 9 列,每三列表示一个身份拥有的权限,第一个三列表示文件所有者,第二个三列表示用户组成员,第三个三列表示其他用户。
每三列分别由 r
、w
、x
、-
组成。
每三列的第一个字母始终表示的是r,如果不具备r(可读)权限,则用 -
表示,表明没有可读权限。
每三列的第二个字母始终表示的是w,如果不具备w(可写权限),同样用 -
表示。
第三个字母始终表示的是x,如果不具备x(可执行权限),同样用 -
表示。
3、这一列表示文件拥有者
4、这一列表示文件用户组
5、这一列表示文件容量大小
6、这一列表示文件修改日期
7、这一列表示文件或目录名称
二、注意事项
在对一个目录设置权限时,如果设置了r--,那么就意味着拥有可读、不可写、不可执行权限。虽然拥有可读权限,但是由于是不可执行的,所以只能看到该目录,但是进不去(cd 没有权限)。所以,我们在对一些文件目录设置读写权限时,如果设置了r,一般都要跟着设置x权限,否则就只能看到目录名,进不去,很尴尬了。