文件保护用来防止文件受到物理破坏和非法访问。文件保护通过口令保护、加密保护和访问控制等方式实现。其中,口令保护和加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。
1.访问类型
对文件的保护可以从限制对文件的访问类型中出发。可加以控制的访问类型主要有以下几种:可以加以控制的访问类型有读、写、执行、添加、删除、列表清单(列出文件名和文件属性)等。此外,还可以对文件的重命名、复制、编辑等加以控制。
2.访问控制
解决访问控制最常用的方法是根据用户身份进行控制。访问控制就是对不同的用户访问同一个文件采取不同的访问类型。根据用户的权限不同,可以把用户划分为拥有者、工作组用户、其他用户等。然后对不同的用户组采取不同的访问类型,以防文件被非法访问。
访问控制通常有4种方法:访问控制矩阵、访问控制表、用户权限表以及口令与密码。访问控制矩阵、访问控制表和用户权限表这3 种方法比较类似,它们都是采用某种数据结构记录每个用户或用户组对于每个文件的操作权限,在访问文件时通过检查这些数据结构来看用户是否具有相应的权限来对文件进行保护。
口令和密码是另外两种访问控制方法。
口令指用户在建立一个文件时提供一个口令,系统为其建立FCB时附上相应口令,同时告诉允许共享该文件的其他用户。用户请求访问时必须提供相应口令。这种方法时间和空间的开销较小,缺点是口令直接存在系统内部,不够安全。
密码指用户对文件进行加密,文件被访问时需要使用密钥。这种方法保密性强,节省了存储空间,不过编码和译码要花费一定时间。
口令和密码都是防止用户文件被他人存取或窃取,并没有控制用户对文件的访问类型。
课后习题
1. 【2010统考真题】设置当前工作目录的主要目的是( )。
A .节省外存空间 B .节省内存空间
C .加快文件的检索速度 D .加快文件的读/写速度
【答案】C
【解析】当一个文件系统含有多级目录时,每访问一个文件,都要使用从树根开始到树叶为止、包括各中间结点名的全路径名。当前目录又称工作目录,进程对各个文件的访问都相对于当前目录进行,而不需要从根目录一层一层地检索,加快了文件的检索速度。选项A、B 都与相对目录无关;选项D,文件的读/写速度取决于磁盘的性能。
2. 【2009统考真题】文件系统中,文件访问控制信息存储的合理位置是( )。
A. 文件控制块 B. 文件分配表
C. 用户口令表 D. 系统注册表
【答案】A
【解析】为了实现“按名存取”,在文件系统中为每个文件设置用于描述和控制文件的数据结构,称之为文件控制块(FCB) 。在文件控制块中,通常包含三类信息,即基本信息、存取控制信息及使用信息。
3. 【2012统考真题】若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则 下列关于此过程的叙述中,正确的是( )。
Ⅰ.若该文件的数据不在内存,则该进程进入睡眠等待状态
Ⅱ.请求read系统调用会导致CPU从用户态切换到核心态
Ⅲ.read系统调用的参数应包含文件的名称
A . 仅 I、II B . 仅 I、III C . 仅 II、III D. I、II 和 III
【答案】A
【解析】对于I , 当所读文件的数据不在内存时,产生中断(缺页中断),原进程进入阻塞态,直到所需数据从外存调入内存后,才将该进程唤醒。对于Ⅱ,read系统调用通过陷入将CPU从用户态切换到核心态,从而获取操作系统提供的服务。对于Ⅲ,要读一个文件,首先要用open系统调用打开该文件。open中的参数包含文件的路径名与文件名,而read只需使用open返回的文件描述符,并不使用文件名作为参数。read要求用户提供三个输入参数:① 文件描述符fd;② buf 缓冲区首址;③传送的字节数n。read的功能是试图从fd所指示的文件中读入n个字节的数据, 并将它们送至由指针buf所指示的缓冲区中。
4. 【2013统考真题】用户在删除某文件的过程中,操作系统不可能执行的操作是( )。
A. 删除此文件所在的目录
B. 删除与此文件关联的目录项
C. 删除与此文件对应的文件控制块
D. 释放与此文件关联的内存缓冲区
【答案】A
【解析】此文件所在目录下可能还存在其他文件,因此删除文件时不能(也不需要)删除文件所在的目录,而与此文件关联的目录项和文件控制块需要随着文件一同删除,同时释放文件关联的内存缓冲区。
5. 【2009统考真题】设文件F1的当前引用计数值为1 ,先建立文件F1的符号链接(软链接)文件F2,再建立文件F1的硬链接文件F3,然后删除文件F1此时,文件F2和文件F3的引用计数值分别是( ) 。
A.0,1 B.1,1
C.1,2 D.2,1
【答案】B
【解析】建立符号链接时,引用计数值直接复制,建立硬链接时,引用计数值加1,删除文件时,删除操作对于符号链接是不可见的,这并不影响文件系统,当以后再通过符号链接访问时,发现文件不存在,直接删除符号链接;但对于硬链接则不可直接删除,引用计数值减1 ,若值不为0,则不能删除此文件,因为还有其他硬链接指向此文件。
当建立F2时,F1和 F2的引用计数值都为1。当再建立F3时,F1和F3的引用计数值就都变成了2。当后来删除F1时,F3的引用计数值为2 -1 = 1,F2的引用计数值不变。
6. 【2017统考真题】若文件f l 的硬链接为f 2,两个进程分别打开f l和f 2,获得对应的文件描述符为fd1和fd 2,则下列叙述中正确的是( )。
Ⅰ.f l和f2的读写指针位置保持相同
Ⅱ. f l和f2共享同一个内存索引结点
Ⅲ.fd1和fd2分别指向各自的用户打开文件表中的一项
A.仅Ⅲ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅱ D.Ⅰ、Ⅱ、Ⅲ
【答案】B
【解析】硬链接指通过索引结点进行连接。一个文件在物理存储器上有一个索引结点号。存在多个文件名指向同一个索引结点的情况,II正确。两个进程各自维护自己的文件描述符,Ⅲ正确,I错误。所以选择B。
7. 【2014统考真题】在一个文件被用户进程首次打开的过程中,操作系统需做的是( )。
A. 将文件内容读到内存中
B. 将文件控制块读到内存中
C. 修改文件控制块中的读写权限
D. 将文件的数据缓冲区首指针返回给用户进程
【答案】B
【解析】一个文件被用户进程首次打开即被执行了 open操作,会把文件的FCB调入内存,而不会把 文件内容读到内存中,只有进程希望获取文件内容时才会读入文件内容;C、D 明显错误,选 B。
8. 【2017统考真题】某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为( )。
A. 5 B. 9
C.12 D.20
【答案】D
【解析】可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有4行5列,1代表true, 0 代表false,所以需要20位,选 D。
9. 【2018统考真题】下列优化方法中,可以提高文件访问速度的是( )。
Ⅰ.提前读 Ⅱ.为文件分配连续的簇
Ⅲ.延迟写 Ⅳ.采用磁盘高速缓存
A . 仅 I、II B . 仅 II、III
C . 仅 I、Ⅲ、Ⅳ D. Ⅰ、Ⅱ、Ⅲ、Ⅳ
【答案】D
【解析】II和IV显然均能提高文件访问速度。对于I , 提前读是指在读当前盘块时,将下一个可能要访问的盘块数据读入缓冲区,以便需要时直接从缓冲区中读取,提高了文件的访问速度。对于Ⅲ延迟写是指先将数据写入缓冲区,并置上“延迟写”标志,以备不久之后访问,当缓冲区需要再次被分配出去时,才将缓冲区数据写入磁盘,减少了访问磁盘的次数,提高了文件的访问速度,Ⅲ也正确,答案选D。
10. 对文件的目录结构回答以下问题:
1) 若一个共享文件可以被用户随意删除或修改,会有什么问题?
2) 若允许用户随意地读、写和修改目录项,会有什么问题?
3) 如何解决上述问题?
【解析】
1) 将有可能导致共享该文件的其他用户无文件可用,或使用了不想使用的文件,导致发生错误。
2) 用户可以通过修改目录项来改变对文件的存取权限,从而非法地使用系统的文件;另外,对目录项不负责任的修改会造成管理上的混乱。
3) 解决办法是不允许用户直接执行上述操作,而必须通过系统调用来执行这些操作。
登录后开始许愿
暂无评论,来抢沙发