文件系统学习之文件安全
影响文件安全性的主要因素,第一是人为因素,即由于人们有意或无意的行为,而使文件系统中的数据遭到破坏或丢失;第二是系统因素,即由于系统的某部分出现异常情况,而造成对数据的破坏或丢失,特别是作为数据存储介质的磁盘,在出现故障或损坏时,会对文件系统的安全性造成影响;第三是自然因素,即存放在磁盘上的数据,随着时间的推移将可能发生溢出或逐渐消失。为了确保文件系统的安全性,可针对上述原因而采取以下措施:
(1)通过存取控制机制来防止由人为因素所造成的文件不安全性。
(2)通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性。(见4.5.5独立磁盘冗余阵列(RAID)技术)
(3)通过“后备系统”来防止由自然因素所造成的不安全性。
文件系统对文件的保护常采用存取控制方式进行,所谓存取控制就是不同的用户对文件的访问规定不同的权限,以防止文件被未经文件主同意的用户访问。
1.存取控制矩阵
理论上存取控制方法可用存取控制矩阵,它是一个二维矩阵,一维列出计算机的全部用户(进程),另一维列出系统中的全部文件,矩阵中每个元素Aij是表示第i个用户对第j个文件的存取权限。通常存取权限有可读、可写、可执行以及它们的组合如表5-12所示。
存取控制矩阵在概念上是简单清楚的,但实现上却有困难。当一个系统用户数和文件数很大时,二维矩阵要占很大的存储空间,验证过程也费时。
2.存取控制表(文件能被访问的用户)
存取控制矩阵由于太大而往往无法实现。一个改进的办法是按用户对文件的访问权力的差别对用户进行分类,由于某一文件往往只与少数几个用户有关,所以这种分类方法可使存取控制表大为简化。UNIX系统就是使用这种存取控制表方法,它把用户分成三类:文件主、同组用户和其它用户,每类用户的存取权限为可读、可写、可执行以及它们的组合。在用ls长列表显示时每组存取权限用三个字母RWX表示,如读、写和执行中那一样存取不允许则用“-”字符表示,用$ls -l长列表显示ls文件如下:
-r-xr-xr-t 1 bin bin 43296 May 13 1997 /opt/K/SCO/Unix/5.0.4Eb/bin/ls
显示前2-10共9个字符表示文件的存取权限,每3个字符为一组,分别表示文件主、同组用户和其它用户的存取权限。
由于存取控制表对每个文件将用户分类,所以该存取控制表可存放在每个文件的文件控制块(即目录表目)中,对UNIX它只需9位二进制来表示三类用户对文件的存取权限,它存在文件索引节点的di_mode中。
3.用户权限表(能力表:用户能访问的文件)
改进存取控制矩阵的另一种方法是以用户或用户组为单位将用户可存取的文件各集中起来存入一表,这称为用户权限表,表中每个表目表示该用户对应文件的存取权限,如表5-13所示。这相当于存取控制矩阵一行的简化。
3、保护域
保护域就是将访问控制权限一样的文件和对象组织成一个域,每个域的控制独立于其他域,每个用户必须在一定的域中才能访问文件或对象,否则不能访问对象或文件。
------------------------------------------------------------------------------------------------------------------------------------------------------
文件备份
文件系统中不论硬件和软件都会因电源中断和变化,用户粗野和不慎的操作而发生损坏和错误,所以为使至关重要的文件系统万无一失,应对保存在辅存中的文件采取一些保险措施,这些措施中最简便方法是“定期转储(备份)”,使一些重要的文件有多个副本。
文件备份分为逻辑备份和物理备份,逻辑备份是以文件为单位的备份,物理备份是以字节或数据块备份的,物理备份的是整个磁盘的数据。
1.分级备份
为了使备份更有效,可将备份分为几个等级,最低级备份级是全量转储,它将文件存储器中所有文件都保存起来,由于全量转储的信息量大,对大系统要费时数小时,转储时系统必须仃止向用户开放,所以全量转储的时间间隔相对较长。为了防止在二次全量转储之间信息丢失,在二次全量转储间又要排了增量转储,增量转储是将前一段时间内修改过的文件和新文件保存起来。
Windows 2000可以实现以下几种类型的备份:
常规备份:这种备份方式将拷贝所有选定的文件,且将其标记为已经备份状态。常规备份时,用户仅需要备份文件的最近一次副本用以恢复所有的文件。
增量备份:这种备份方式只备份那些自从上一次常规或增量备份后创建的或改动的文件,且将其标记为已经备份。如果用户将常规备份与增量备份结合起来使用,则需要最后一次常规备份集合和所有的增量备份集合以便于用来恢复数据。
差异备份:这种备份方式将拷贝那些自从上一次常规或增量备份后创建的或改动的文件,但不将文件标记为已经备份。如果用户结合使用常规备份和差异备份,那么需要最后一次常规备份集合和最后一次差异备份集合以用于恢复数据。
拷贝备份:这种备份方式将拷贝所有选定的文件,但不将文件标记为已经备份。拷贝对于常规备份和增量备份之间的文件备份而言十分有用,因为它不影响其他备份操作。
日常备份:这种备份方式则是拷贝在实施日常备份的当天被改动的选定文件。备份文件不标记已备份状态。
在备份之间数据改动量巨大或为其他备份种类提供基准时,常规备份是最好的。增量备份最适宜于记录频繁改动的数据过程。差异备份简化了恢复文件时的过程。用较少的介质实施长期存储时,用户可使用常规备份与增量或差异备份相结合的方式。