文件系统往往包含用户非常宝贵的信息。因此,如何保护这些信息的安全性是所有文件系统的一个主要内容。影响文件系统安全性的主要因素有如下几点。
①人为因素。由于人们有意或无意的行为,而使文件系统中的数据遭到破坏、丢失或窃取。
②系统因素。由于系统出现异常情况而造成对数据的破坏或丢失,特别是作为数据存储介质的磁盘在出现故障或损坏时,会对文件系统的安全性造成影响。
③自然因素。存放在磁盘上的数据,随着时间的推移而发生溢出或逐渐消失等。
这些数据丢失问题大多数可以通过保存足够的备份而解决,最好是将备份数据放在与源数据相隔较远的地方。
1.防止人为因素造成的文件不安全性
文件保护是指防止文件被破坏,而文件保密是指不经文件所有者授权,任何其他用户不得使用文件。文件的安全性既包括文件的保护,也包括文件的保密,这两项都涉及用户对文件的使用权限。因此,一个文件系统必须具有良好的保护机制,才能保证文件的安全性,才能获得用户的信任。特别是大型文件系统,严格的保密措施是不可缺少的。文件系统一般对任何用户在调用文件时,都要对使用权限进行审核。较好的文件系统还能够防止一个用户冒充另一个用户存取文件。目前常用的安全措施如下。
(1)隐藏文件和目录
按照这种方法,系统和用户将要保护的文件目录隐藏起来,在显示文件目录信息时由于不知道文件名而无法使用。在小型的计算机系统或简单的操作系统中可以采用这种方法。
(2)口令
口令有两种方式:一种是文件口令,另一种是用户口令。对前者,系统要求文件的建立者为需要保密的文件设置一个口令,这样任何用户在使用文件时,都应该核对口令,只有口令相符才能使用,否则拒绝用户访问;对后者,当用户利用计算机终端使用计算机时,首先核对用户的口令,只要口令一致,才能使用计算机。在多用户操作系统中,基本上都会对每一个用户设置各自的目录和口令,这样只有拥有口令的用户才能进入相应的目录。文件口令存在的问题是当收回某个用户对文件的使用权时,必须更改口令,而新的口令又必须通知其他授权的用户,这无疑是很不方便的。
(3)文件加密
对于高度机密的文件,可采用文件加密的措施。文件加密是把文件中所有字符代码按某种变换规则重新编码。文件的输入和读出都经过编码程序和解码程序的处理。变换规则中的关键字是可变的,是由文件创建者设置,不存放在系统中,并可随时更改。例如,常用的一种加密方法是文件主给出一组代码键,编码程序将此代码键作为随机数产生器的起始码,并将产生的随机数序列和文件中的各字符代码依次相加,然后存入磁盘。读出文件时,用户只要输入相同的一组代码键,解码程序用这些代码键产生相同的随机数序列,并和从磁盘上读出的各个代码依次相减,就能恢复文件本来的字符码。文件创建者写盘时,输入的一组代码不存放在文件系统中,只有文件创建者知道,并可随时修改,所以加密方法最为可靠、严密。但因读/写都要经过编码和解码的处理,所以增加了系统的开销,并降低了访问的速度。
(4)制定访问权限
文件创建者建立文件时,可以规定本人和其他用户对该文件的访问权限。这些权限和限制条件登记在文件目录中。文件创建者可以使用系统提供的命令随时修改各类用户的访问权限。
2.防止系统因素或自然因素造成的文件不安全性
(1)坏块管理
磁盘常常有坏块。软盘在出厂时通常是完好无损的,但是在使用过程中,却有可能出现坏块。温彻斯特磁盘(硬盘)常常一开始就有坏块,要将其做得完美无缺,成本很高。对坏块问题有硬件和软件两种解决办法。硬件方法是建立一个坏块表,在硬盘上为坏块表分配一个扇区,当控制器第一次被初始化时,会读坏块表并找一个空闲块(或磁道)代替有问题的块,并在坏块表中记录映射。此后,全部对坏块的请求都使用该空闲块。软件解决方法要求用户或文件系统构造一个包含全部坏块的文件。这类技术能把坏块从空闲表中删除,使其不会出现在数据文件中。只要不对坏块进行读写操作,文件系统就不会出现任何问题。在磁盘备份时,需要注意避免读取这个文件。(www.xing528.com)
(2)磁盘容错技术
容错技术是通过在系统中设置冗余部件来提高磁盘系统可靠性的一种技术。磁盘容错技术本身是通过增加冗余的磁盘驱动器、磁盘控制器等来提高磁盘系统的可靠性,在磁盘系统的某部分出现缺陷或故障时,磁盘仍能正常工作,不会造成数据的错误和丢失。在中、小型系统和局域网中,磁盘容错技术已经广泛使用,用以提高磁盘系统的可靠性。磁盘容错技术往往也称为系统容错技术(System Fault Tolerance,SFT),可分为三个级别:SFT-I是低级磁盘容错技术,主要用于防止磁盘表面发生缺陷所引起的数据丢失;SFT-II是中级磁盘容错技术,主要用于防止磁盘驱动器和磁盘控制器故障所引起的系统不能正常工作;SFT-III是高级系统容错技术。
(1)第一级容错技术
第一级容错技术是最早出现的,也是最基本的一种磁盘容错技术,主要包含双份目录、双份文件分配表及写后读校验等措施。
①双份目录和双份文件分配表。在磁盘上存放的文件目录和文件分配表FAT,是文件管理所用的重要数据结构。如果这些表格被破坏,将导致磁盘上的部分或全部文件成为不可访问的文件。为了保护这些数据,可在不同的磁盘上或在磁盘的不同区域中,建立两份目录表和FAT,一份称为主文件目录及FAT,另外一份则称为备份目录及备份FAT。一旦由于磁盘表面缺陷而造成文件目录或FAT损坏时,系统便自动启用备份文件目录及备份FAT,并将损坏区写入坏块表中;系统还要在磁盘的其他区域再建立新的文件目录和FAT作为备份。在系统每次加电启动时,都要对两份目录和两份FAT进行检查,以验证它们的一致性。
②热修复重定向和写后读校验。对于磁盘表面有少量缺陷的情况,多是采取其他补救措施后继续使用。补救措施主要用于防止将数据写入有缺陷的盘块中。
③热修复重定向。系统将一定的磁盘容量(例如2%~3%)作为热修复重定向区,用于存放发现盘块有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便以后对数据进行访问。例如,操作系统要向第12磁道的第10扇区的盘块中写入数据,如果此盘块是坏的,于是便将数据写入热修复区中,如果写在第153磁道的第27扇区中,则在以后操作系统要读第12磁道的第10扇区的盘块中的数据时,要改从第153磁道的第27扇区的盘块中读数据。
④写后读校验。为了保证所有写入磁盘的数据都能写入到完好的盘块中,应该在每次从内存缓冲区向磁盘中写入一个数据块后,又立即从磁盘上读出该数据块,送至另一缓冲区中;再将该缓冲区的内容与内存缓冲区中在写后仍保留的数据进行比较,若两者一致,便认为此次写入成功,否则再重写。若重写后两者仍不一致,则认为该盘块有缺陷,将应写入该盘块的数据写入热修复重定向区中,并在坏盘块表中记录该损坏盘块。
(2)第二级容错技术
①磁盘镜像。SFT-I只能用于防止由磁盘表面部分故障造成的数据丢失,但不能防止由于磁盘驱动器发生故障造成的数据丢失。为了避免由于磁盘驱动器发生故障造成的数据丢失,可增设磁盘镜像功能。磁盘镜像是在同一磁盘控制器下,再增设一个完全相同的磁盘驱动器,如图7-13所示。
图7-13 磁盘镜像示意图
采用磁盘镜像时,在每次向文件服务器的主磁盘写入数据后,采用写后读校验方式,将数据再同样地写到备份磁盘上。两个磁盘上有着完全相同的数据。当一个磁盘驱动器发生故障时,由于有备份磁盘的存在,在进行切换后,文件服务器仍能正常工作,从而不会造成数据丢失。在一个磁盘驱动器发生故障时,必须立即发出报告,尽快修复,以恢复磁盘镜像功能。磁盘镜像虽然实现了容错功能,但并未能使服务器的磁盘I/O速度得到提高,并且磁盘的利用率仅为50%。
②磁盘双工。磁盘镜像功能虽然有效地解决了在一台磁盘机发生故障时的数据保护问题,但如果磁盘控制器或主机到磁盘控制器之间的通道发生故障,将使这两台磁盘机同时失效。为此,增加了磁盘双工功能。所谓磁盘双工,是指将两台磁盘驱动器分别接到两个磁盘控制器上,同样使这两台磁盘机成为镜像,如图7-14所示。
图7-14 磁盘双工示意图
磁盘镜像和磁盘双工是经常使用的有效的数据保护手段。但应注意,磁盘镜像和磁盘双工技术都比较复杂,且在磁盘中都可能保存了许多有用的数据,误操作很容易造成数据的丢失,甚至造成硬件的损坏。这两种功能的操作最好交由比较熟练的专业人员负责。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。