Linux 文件属性的学习记录

今天继续自己学习Linux的课程,学习到Linux的文件权限,今天要了解Linux 的文件属性,需先了解“ls”命令。在以root的身份登入Linux之后,输入“ls -al“,会看到下面的内容:

Linux 文件属性的学习记录

-rw-r--r--.         1         root           root          129          May 11 2019           .tcshrc

[     1     ]          [  2  ]   [   3   ]      [   4   ]       [   5   ]       [      6       ]            [        7       ]

[  属性  ]         [连接]  [拥有者]  [用户组]  [文件大小]  [修改日期]          [文件名]

ls 是 ”list“的意思,与早期DOS的命令dir功能类似。参数”-al“则表示列出所有的文件(包括隐藏文件,就是文件名前面第一个字符为 . 的文件)。如上所示,在第一次以root身份登入 Linux时,如果输入命令后,应该出现上面的内容,先解释下上面7个字段的意思。

Linux 文件属性的学习记录

1. 第一列表示这个文件的属性:这个地方最需要注意。仔细看的话,应该可以发现这一列其实共有10个属性。

Linux 文件属性的学习记录

第一个属性表示这个文件是”目录、文件或连接文件等“:
[d],则是目录,例如上面列表的第11行;
[-],则是文件,例如上面列表的第5行;
[l],则表示为连接文件(link file);
[b],则表示为设备文件中可供存储的接口设备;
,则表示为设备文件中的串行端口设备,例如键盘、鼠标。

接下来的属性中,3个为一组,且均为”rwx“3个参数的组合。其中,[r]表示可读(read)、[w]表示可写(write)、[x]表示可执行(excute)。
第一组为”拥有者的权限“,以第5行为例,该文件的拥有者可以读写,但不可执行。
第二组为”同用户组的权限“。
第三组为”其他非本用户组的权限“。
范例:若有一个文件的属性为”-rwxr-xr--“,说明如下:

Linux 文件属性的学习记录

1.  表示这个文件名为目录或文件(上面为文件)。
234:拥有者的权限(上面为可读、可写、可执行)。
567:同用户组用户权限(上面为可读可执行)。
890:其他用户权限(上面为仅可读)。
上面的属性表示一个文件,这个文件的拥有者可读、可写、可执行,但同用户组的人仅可读与执行,非同用户组的用户仅可读。
除此之外,需要特别注意的是x。若文件名为一个目录的时候,例如.ssh目录:

Linux 文件属性的学习记录

可以看到这是一个目录,而且只有root可以读写与执行。但是,若为下面的样式时,请问非root的其他人是否可以进入该目录呢?

Linux 文件属性的学习记录

似乎是可以。因为有可读[r]存在。”错“。答案是非root账号的其他用户均不可以进入.ssh目录。为什么呢?因为x与目录的关系相当重要,如果在该目录下不能执行任何命令的话,那么自然也就无法进入了。因此,请特别注意,如果想对他人开放某个目录的话,请记住,开放该目录的x属性。目录权限的相关说明,我们会在下面继续介绍。

需要小心的是,在windows中,一个文件是否具有执行的能力是通过”扩展名“来决定的,例如.exe、.bat、.com等。但在Linux中,文件是否能执行,则是通过是否具有x属性来决定的,所以,与文件名没有绝对的关系,这点要特别注意。稍后我们还会对目录进行介绍。

2. 第二列表示连接占用的节点(i-node):这与连接文件(link file)有关,如果是目录的话,那么就与该目录下还有多少目录有关。
3. 第三列表示这个文件(或目录)的”拥有者“。
4. 第四列表示拥有者的用户组。
这里再次解释一下,在Linux中,ID(如root或test等账号均是ID)即是您的身份,而且还可以附属在一个或多个用户组之下。
5. 第五列为这个文件的大小。
6. 第六列为这个文件的创建日期或者是最近的修改日期,分别为月份、日期及时间。
7. 第七列为这个文件的文件名。

Linux 文件属性的学习记录:等您坐沙发呢!

发表评论

表情
还能输入210个字