简易文件审计工具的设计与实现 第4页

简易文件审计工具的设计与实现 第4页
 Take Ownership(获得所有权的许可):所有者(Owner)是指对象是属于谁的。对象的所有者具有对象的完全的操作权限,文件的所有者可以对文件无条件进行许可的操作。在文件的属性---安全性---所有者,可以查看该文件的所有者是谁。
“获得文件所有权”操作的目的,是把当前登录者变为文件的所有者,只有具有此许可的用户才可以进行此操作,比如说Administrators组的成员。但管理员也只能把文件的所有者改变成自己的,而不能Ownership成某一个用户的。如果要将文件的所有者改变成其它用户的,只能由管理员赋予相应用户 Full Control许可(其实主要是Take Ownership许可),然后用户自己登录系统,将文件的所有者改变成自己的。
管理员本地组(Administrators)的成品都可以进行Take Ownership的操作,那么得到这个文件所有权的,不是管理员自己,而是管理员组的所有成员[6]。
2.1.3 过滤驱动
一、 Windows NT文件系统驱动
Windows NT 文件系统驱动是存储管理子系统的一个重要组成部分,它向用户提供在磁盘或光盘等非易失性媒介信息的存储、转发,同时和存管理器、高速缓冲管理器紧密结合,不但保证了应用程序可以准确地提取数据文件的内容,而且提高了访问效率。用户进程对磁盘上文件的创建、打开、读、写等操作由WIN 32子系统调用相应的服务来代表该进程发出请求操作。I/O管理器接收到上层传来的I/O请求,通过构造输入输出请求包IRP(I/O Request Package)来描述这个请求,然后向下传递给文件系统驱动、存储设备驱动做后续处理,低层驱动处理完毕后把结果依次向上返回,最后经过I/O管理器,由WIN 32子系统把结果返回给发出请求的应用进程,整个对文件的操作请求执行完毕[4],如图2.1所示。
Windows NT 的I/O 管理器是可扩展结构,支持分层驱动模型,这样按照我们的需求开发具有某种功能的驱动程序插入到这个层次结构当中,截获所需处理的IRP进行处理,然后再继续向下传递或直接向上返回结果。
二、 Windows NT文件系统过滤驱动
文件系统过滤驱动是针对文件系统而言,它既可以位于文件系统驱动之上,也可以被插在文件系统驱动和存储设备驱动之间。I/O管理器在发送文件操作请求到目标设备对象之前,会检查是否有附加的设备对象挂载在目标设备之上,若有,则把该IRP先发送给附加设备,经附加设备所属驱动程序的处理后,再发送给目标设备完成操作请求。这样通过文件系统过滤驱动程序构造附加设备对象挂载在文件系统的存储设备之上,在过滤驱动程序中对发送到目标设备的操作请求进行预期处理,达到控制文件访问、保护文件安全性等目的[1]。如图2.2 所示。
图2.1 Windows NT 文件系统工作原理
图2.2 文件系统过滤驱动工作原理
2.2 MFC基本框架
2.2.1 概述
毕业论文http://www.751com.cn/  论文网http://www.lwfree.com/开发人员使用的专业C++ SDK(SDK,Standard Software Develop Kit,专业软件开发平台),MFC 就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分。MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的。
  MFC是Win API与C++的结合。API,即微软提供的Win DOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身。可以允许用户使用各种各样的第三方的编程语言来进行对Win DOS下应用程序的开发,使这些被开发出来的应用程序能在Win Dos下运行。比如 VB、VC++、Java等编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Win OS的消息机制和绘图里。遵守Win DOS作为一个操作系统的内部实现,这其实也是一种必要。微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对 API函数的专用C++封装。这种结合一方面让用户使用微软的专业C++ SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作隐藏了好多程序开发人员在Win下用C++ & MFC编制软件时的大量内节。如应用程序实现消息的处理,设备环境绘图。这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风)。因此就造成了MFC对类封装中的一定程度的冗余和迂回,但这是可以接受的。
MFC是微软封装了的API。什么意思呢?Windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的Win32开发(直接使用Windows的接口函数 API)对于程序员来说非常的困难。因为API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与 Application Framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架。
2.2.2 框架
默认情况下,“MFC 应用程序向导”用文档类和视图类创建应用程序主干。MFC 将数据管理分成这两类。文档存储数据和管理数据的打印,并协调更新多个数据视图。视图显示数据并管理用户与数据之间的交互,包括选择和编辑。在

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有