在NTFS文件系统上实现UNIX风格的文件管理权限(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

在NTFS文件系统上实现UNIX风格的文件管理权限(2)


     当然我们也都知道UNIX操作系统的文件权限使用了一种便捷的方式来保证用户文件的安全,虽然说NTFS文件系统具有安全、高性能、高可靠性等诸多优点,而且在某些方面来说NTFS文件系统对文件的安全管理标准甚至比UNIX强,但是微软公司没有公开任何和NTFS文件系统的实现和结构相关的资料,再加上其NTFS文件系统本身结构的复杂,所以UNIX环境下NTFS文件系统驱动的实现是很困难的,而且对于已经使用习惯了UNIX用户来说实在不觉得方便实用,因此在NTFS文件系统上实现一个UNIX文件管理权限是有实际意义的。
1.2 国内外研究现状和趋势
     1.3 需解决的问题
    NTFS是微软Windows系统专有的文件系统,而UNIX完全是另一种操作系统,常用的文件系统是EXT4,NTFS要模拟EXT4,则文件的管理权限等都需要经过编程进行转变。而且UNIX系统一开始就是为多用户设计的系统,而Windows最开始只是为单用户设计的操作系统,另外还要解决的一个很重要的问题就是UNIX采用的是对用户的授权细化到了文件级。最后在NTFS文件系统上实现UNXI风格的文件管理权限。
1.4 解决途径及策略
        1.查询有关技术资料,深入了解、熟悉、掌握Windows操作系统安全机制,特别是要了解掌握Windows操作系统有关对象安全的相关概念,如安全属性、安全描述符、访问控制列表、安全标识符等概念。知道几乎任何使用Create系统调用创建的对象都有安全属性参数,熟悉安全描述符的结构和基本组成,以及组成访问控制列表的两种类型的ACE,了解到安全标识符(SID)是与对象所有者有关的。
      2.学习在编程实现层面如何具体使用Windows操作系统的对象安全机制解决课题提出的问题,比如安全描述符的初始化,管理访问控制列表(ACL)等等。这就要求我们首先会使用特定的函数来初始化安全描述符,也就是更改安全描述符参数问题;然后还知道如何管理ACL、如何将ACL与安全描述符关联在一起以及如何添加ACE。当然在这期间得注意ACE条目顺序,因为访问拒绝和访问允许ACE添加到ACL中的处理顺序是按照权限位从左(所有者/读)到右(每个人/执行)进行的。
1.5 实验设计与预期结果
   在实验之前,我们可以先安装一个任何版本的Linux系统(我自己使用的就是Ubuntu版本),然后开始熟悉该系统的文件系统,细致了解其安全权限是如何确保正确的,然后能够在命令行中用各种命令对文件进行操作,比如说知道如何使用正确的命令来列出各文件属性以及更改其权限等等。之后再紧接着学习一系列的理论知识,比如说Linux和Windows系统中文件安全机制的相同点和不同点,知道NTFS文件系统是如何工作的,最后学习用Windows API函数进行调用编程实现,特别是搞清楚Windows API函数中那一系列繁琐的参数问题,并且能够正确使用。预期结果就是我能通过编程在NTFS文件系统上实现按文件主、同事和任何人授予或拒绝读、写及执行权限,以及辅助工具软件,包括Wchmod(模拟UNIX的chmod外部命令)和Wls(模拟UNIX的ls外部命令),最终可以仅靠Wchmod和Wls命令就能更改文件权限和列出各文件属性及其权限。
2 系统安全分析
2.1 Windows NT文件系统简介
    Windows NT是微软公司在1993年推出的一种网络操作系统(也可以称为PC操作系统),主要面向大型计算机、网络服务器和工作站,其中NT是New Technology的简写,乃新技术的意思。它的主要特点是:①能够进行“抢先式”多线程和多任务操作;②属于32位操作系统,具有多重的引导功能,而且还能与其他操作系统共存;③采用对称多处理(SMP)技术,能够支持不同的CPU,如Intel x86, IBM PowerPC (不支持 NT5.0) 和DEC Alpha;④对客户操作系统给予广泛支持,如Windows、Windows NT、MS-DOS等。可与各种各样的网络操作系统进行互操作。如Macintosh、Novel Netware、Unix等系统;⑤安全性已经达到美国国防部的C2级标准。和以往早期的Windows版本(如Windows for Workgroups和Windows95)不一样的是,Windows NT是一个完整的操作系统,而并仅仅是DOS下的一个附加产品。提到Windows NT,不得不想到它的一个主要的附加功能:安全性。因为它具有一个专门的NT文件系统(NTFS),允许在目录和文件上设置许可权限。 (责任编辑:qin)