DJ6-6/7 文件共享和访问控制、文件保护

news/2024/11/24 18:39:46/

目录

6.6  文件共享和访问控制

1、同时存取

2、存取权限

3、文件共享的实现

6.6.1  基于索引结点的共享方式

1、基本思想

2、具体操作

6.6.2  利用符号链接实现文件共享

6.6.3  利用 URL 实现文件共享

6.7  文件保护


 

6.6  文件共享和访问控制

文件共享的有效控制涉及两个方面:

  • 同时存取(Simultaneous Access)
  • 存取权限(Access Rights)

1、同时存取

允许多个用户同时读文件内容,但不允许多个用户同时修改文件内容。

某一共享用户修改文件内容时,可以将整个文件作为临界资源,锁定整个文件,不允许其它共享用户同时读/写文件。也可以仅仅锁定指定的一条记录,允许其它共享用户读/写该文件的其它记录。后者的并发性能更好。

控制对文件的同时存取涉及进程的同步与互斥问题。

2、存取权限

授权用户以合法的方式访问文件,包括:

① 执行(Execution):用户可以装载并执行程序,但不允许拷贝程序内容。

② 读(Reading):允许用户读文件内容,包括拷贝和执行文件。某些系统严格地将浏览文件内容和拷贝权限分开,可以控制文件只能被浏览(显示),不能被拷贝。

③ 追加(Appending): 允许用户向文件添加数据,通常只能将数据添加到文件尾。但是,不能修改或删除文件内容。例如,超市收银员只能将新结帐的数据添加到文件中,不允许其修改或删除已有的数据。

④ 更新(Updating):允许用户修改、删除、增加文件内容。包括创建文件、重写文件的全部或部分内容、移动文件的全部或部分数据等操作。

⑤ 更改权限 (Changing protection):一般只有文件主才能更改共享该文件的其他用户对该文件的存取权限。有的系统允许文件主将更改文件存取权限赋予其他某个用户,但必须限制授权用户更改的权限范围。

⑥ 删除 (Deletion):允许用户删除文件。

3、文件共享的实现

文件共享的实质:是指可以从不同地方打开同一个文件。打开文件的首要步骤就是找到文件的目录项,读取文件在外存的起始地址。实现文件共享的方式:

  • 基于索引结点的共享方式
  • 利用符号链实现文件共享

6.6.1  基于索引结点的共享方式

1、基本思想

在树形结构的目录中,当多个用户要共享一个文件或子目录时,必须将被共享的文件或子目录链接到这些用户的目录中。此时的目录结构已不再是树形,而是 有向非循环图(DAG)

2、具体操作

当多个用户要共享一个文件时,

① 在自己的文件目录中新建一个目录项。填写该目录项中的文件名,可以直接用共享文件的原名,也可以使用其它文件名;填写该目录项中的索引节点指针,将其指向共享文件的索引节点。

② 在共享文件的索引节点中设置一个链接计数器 count,用于表示链接到本索引节点上的用户目录项的数目。

  1. 当用户 C 创建一个新文件时,TA 便是该文件的所有者,此时将 count  置 1;
  2. 当用户 B 要共享此文件时,count+1=2,但文件主仍然是用户 C 。

由上图可见,即使用户 C 不再需要此文件了,它也并不会把文件真正地 “删除”。

6.6.2  利用符号链接实现文件共享

符号链接:创建一个 LINK 类型的新文件,并添加到共享用户目录中,该文件仅包含被链接文件的路径名,称该链接方法为符号链接。

当用户正要读 LINK 类新文件中的路径信息时,此要求将被 OS 截获,OS 根据新文件中的路径名去找被链接的文件,然后对它进行读/写。

只有文件主才拥有指向被链接文件索引节点的指针,而共享该文件的其它用户则只有该文件的路径名,并不拥有指向其索引节点的只占。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。

符号链接的优缺点

优点:使用路径名就能方便地链接任一文件。

缺点:

  • 访问共享文件时开销大(沿路径访问需要多次读盘;耗费磁盘空间)
  • 每一共享文件都要增加一 LINK 类文件(其索引节点耗费磁盘空间)

6.6.3  利用 URL 实现文件共享

URL (Uniform Resource Locator,统一资源定位器) 是 Internet 上用来链接超文本文件的一种方法。它可以链接同一台计算机中的本地文件,也可链接 Internet 中任何主机上的远程文件。

一个完整的 URL 包括访问文件的协议、文件所在的主机域名、目录路径名和文件名几部份。例如:http://www.uestc.edu.cn/templates/index2k3/index.html

Internet 上任何主机的用户都可以通过该 URL 地址链接此文件,使全球计算机用户都可以通过 Internet 共享该文件。

当通过该 URL 地址连接到电子科技大学 WWW 服务器时,用户计算机就会收到该服务器传输来的 index. html 文件。

再触发该文件中的 “中文版 ”超链,该服务器又传来另一个文件。

6.7  文件保护

不同对象允许实施的操作各不相同。

例如,文件可施加读、写、执行等操作,信号量只能施加 wait() 和 signal() 操作。

因此,系统为所有对象设置一个允许进程实施操作的操作集,任何对对象的操作必须符合操作集中的规定,防止未授权进程访问对象。

 


http://www.ppmy.cn/news/99477.html

相关文章

@Autowired 和 @Resource的区别只知道注入方式不同?那可不行,其性能上也有差距!

目录 Autowire vs Resource 性能比较 先上结论: Resource查找Bean的时间复杂度为O(1): Autowired查找Bean的时间复杂度为O(n): 不能将所有的Resource无脑替换成Autowired 结合源码分析Autowire vs Resource 性能比较 Autowire注解的处…

javascript基础九:说说Javascript中的继承?如何实现继承?

一、是什么 继承(inheritance)是面向对象软件技术当中的一个概念 如果一个类别B“继承自”另一个类别A,就把这个B称为“A的子类”,而把A称为“B的父类别”也可以称“A是B的超类” 继承的优点 继承可以使得子类具有父类别的各种属性…

C++面试难点系列-左右值/const引用

C面试难点系列-左右值/const引用 简介左右值概念取地址 引用分类左值引用右值引用const 引用 右值引用存在的意义 简介 做一个简单的开篇,这部分主要介绍的是C面试中经常会遇到的难点,左右值引用和const引用。后续还会讲一些其他的C需要掌握&#xff0c…

数据等级划分

数据大致可以分为定性数据与定量数据,但细分可以分为四类:定类数据、定序数据、定距数据、定比数据 处理数据的流程: 参考: 特征工程入门与实践

Linux进程概念引入

文章目录 冯诺依曼体系操作系统概念设计目的定位系统调用和库函数的概念 进程概念描述进程PCBtask_struct内容分类 组织进程查看进程通过系统调用获取进程标识符通过系统调用创建进程 冯诺依曼体系 目前我们的计算机基本都是遵守冯诺依曼体系的,在冯诺依曼体系中&am…

信号处理与分析-卷积的性质与推导

目录 一、引言 二、信号分析中的卷积 1. 什么是卷积 2. 卷积的性质 3. 卷积的应用 三、离散卷积 1. 离散卷积的定义 2. 离散卷积的计算 3. 离散卷积的性质 四、连续卷积 五、卷积的实际应用 六、总结 一、引言 在信号处理中,卷积是一种非常重要的数学运…

基于MAX-10 FPGA 读取超声波模块HC_SR04距离数据到数码管上

基于MAX-10 FPGA 读取超声波模块HC_SR04距离数据到数码管上 文章目录 基于MAX-10 FPGA 读取超声波模块HC_SR04距离数据到数码管上实验现象简单介绍超声波测距模块HC_SR04模块框图模块编写测距信号源 距离计算数码管模块顶层模块 实验现象 将MAX-10小脚丫FPGA和超声波模块HC_SR…

使用腾讯云服务器快速搭建网站教程

已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔面板&…