;项目四Linux文件权限的管理;3;(2)Ext4:Ext3的改进版本,作为RHEL6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1?073?741?824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。
(3)XFS:是一种高性能的日志文件系统,而且是RHEL7中默认的文件管理系统。它的优势在发生意外宕机后显得尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。它最大可支持的存储容量为18EB,这几乎满足了所有需求。;文件的实际内容则保存在block块中(大小可以是1KB、2KB或4KB),一个inode的默认大小仅为128B(Ext3),记录一个block则消耗4B。当文件的inode被写满后,Linux系统会自动分配出一个block块,专门用于像inode那样记录其他block块的信息,这样把各个block块的内容串到一起,就能够让用户读到完整的文件内容了。
对于存储文件内容的block块,有下面两种常见情况(以4KB的block大小为例进行说明)。
情况1:文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
情况2:文件很大(5KB),那么会占用两个block(5KB?4KB后剩下的1KB也要占用一个block)。;计算机系统在发展过程中产生了众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个VFS(VirtualFileSystem,虚拟文件系统)接口,这样用户实际上在操作文件时就是统一对这个虚拟文件系统进行操作了。图4-1所示为VFS的架构示意图。;4.1.2子任务2Linux文件系统目录结构;在Linux系统中,最常见的目录以及所对应的存放内容如表4-1所示。;在Linux系统中,最常见的目录以及所对应的存放内容如表4-1所示。;4.1.3子任务3理解绝对路径和相对路径;4.2任务2Linux文件权限的配置;根据赋予权限的不同,3种不同的用户(所有者、用户组或其他用户)能够访问不同的目录或者文件。所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限。每一个用户针对系统中的所有文件都有它自身的读、写???执行权限。
第一套权限控制访问自己的文件权限,即所有者权限。
第二套权限控制用户组访问其中一个用户的文件的权限。
第三套权限控制其他所有用户访问一个用户的文件的权限。
这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限,就构成了一个有9种类型的权限组。;4.2.2子任务2详解文件各种属性信息;每一行的第2~10个字符表示文件的访问权限。这9个字符每3个为一组,左边3个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。代表的意义如下。
字符2、3、4表示该文件所有者的权限,有时也简称为u(User)的权限。
字符5、6、7表示该文件所有者所属组的组成员的权限。例如,此文件拥有者属于“user”组群,该组群中有6个成员,表示这6个成员都有此处指定的权限。简称为g(Group)的权限。
字符8、9、10表示该文件所有者所属组群以外的权限,简称为o(Other)的权限。
这9个字符根据权限种类的不同,也分为3种类型。
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(execute,执行):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
-:表示不具有该项权限。
下面举例说明。
brwxr--r--:该文件是块设备文件,文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。
-rw-rw-r-x:该文件是普通文件,文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
drwx--x--x:该文件是目录文件,目录所有者具有读写与进入目录的权限,其他用户能进入该目录,却无法读取任何数据。
lrwxrwxrwx:该文件是符号链接文件,文件所有者、同组用户和其他用户对该文件都具有读、写和执行权限。;2.第2组表示有多少文件名连结到此节点(i-node)
每个文件都会将其权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件来记录,因此每个文件名就会连