属性文件论文

2024-08-14

属性文件论文(精选5篇)

属性文件论文 篇1

与Windows操作系统不同,Linux将设备视为文件处理,于是Linux中的问价大体可分为设备文件和磁盘文件,所谓磁盘文件,是指存贮在磁盘上的数据信息的集合。本文仅分析磁盘文件,因而在文中,对文件和磁盘文件不再区分。Linux系统中对磁盘文件的使用是通过文件描述符来完成的,使用open系统调用可以打开文件,也就是返回一个文件描述符,而文件存放在磁盘上,所以open系统调用实际上是在进程和磁盘文件之间创建一个连接,连接包含很多属性,这些属性则规定了连接的方式,即规定了文件的使用规则,也可以称为文件的打开方式或则文件描述符属性,本文对三种说法不加区分。一般来讲在使用open系统调用打开文件时需要指定文件的打开方式,但是文件的打开方式不仅可以在文件打开时指定,在文件打开后的使用过程中也可以通过修改连接属性来改变,以适应不同的应用情况,增加系统的灵活性。模型如图1所示。

1 修改连接属性

如上文所言,一旦打开文件,就要遵循属性规定的规则对文件进行使用,但是这无异限制了使用的灵活性,因而在文件打开后,连接属性的可以被修改以适应不同的情况,属性的修改分为三个步骤:

1)通过系统调用fcntl()将控制变量从文件描述符复制到进程,得到表示属性的位集。

2)通过位操作对属性位集进行修改。

3)将表示属性的位集写回内核。

文件描述符的属性表示成多个二进制位,一个二进制位可以代表一个属性,通过将相应的二进制位置1或者置0可以打开或者关闭一个属性,属性位组合成一个位集,位集又被表示成一个整数,系统调用fcntl()可以读取以整数形式出现的属性位集,也可以将修改过的位集写回内核,以此来改变文件的打开方式,系统调用fcntl的原型如下:

参数fd是需控制的文件描述符,cmd是需进行的操作,arg是操作的参数,lock是锁信息。Cmd的取值不同,系统调用所做的动作也不同,cmd可以取下列值:

F_SETFL用参数arg的值设置文件状态标志。参数中文件存取方式(O_RDONLY,O_WRONLY,O_RDWR)和文件创建标志(i.e.,O_CREAT,O_EXCL,O_NOCTTY,O_TRUNC)会被忽略。在Linux中能修改的标志位只有O_APPEND,O_ASYNC,O_DIRECT,O_NOATIME和O_NONBLOCK。

F_GETLK,F_SETLK和F_SETLKW用来获得,释放和测试已经存在的记录锁定。

系统内核已经为不同属性定义了相应的标志位,定义在头文件fcntl.h中,对于取出的文件描述符的属性可以与文件状态标志进行逻辑或操作来对属性进行修改,标志位及功能如表1所示。

2 缓冲控制

2.1 问题描述

缓冲是用来解决不同设备间速度不匹配的问题。磁盘读写速度较慢,CPU和内存的速度较快,如果没有缓存,就可能会造成CPU和内存等待磁盘IO完成的情况,影响系统效率,引入缓存后,write系统调用可以只需要将输出数据交给内核缓存,就可以返回,内核缓存数据积累到一定程度后会启动I/O操作,将数据写回磁盘,但是也可能会出现write系统调用已经成功返回,但是缓存中的数据在写回磁盘时出现问题,造成数据丢失的情况,可以通过修改文件的使用方式来避免这种情况的出现,即可以修改磁盘文件的连接属性来决定打开或关闭缓冲。

2.2 核心代码

2.3 代码分析

首先fcntl系统调用使用两参数的形式,int fcntl(int fd,int cmd),参数cmd设置为F_GETFL,得到当前的属性位集(被表示成整数),使用整形变量s存放属性位集。

对于得到的位集s,将s与标志O_SYNC进行逻辑或操作,将相应的属性位置1,打开属性。O_SYNC标志告诉内核,对write的调用仅能在数据写入实际的硬件时才能返回,而不是在数据复制到内核缓冲时就执行默认的返回操作。

最后使用fcntl系统调用的三地址形式,int fcntl(int fd,int cmd,struct flock*lock),将cmd设置为F_SETFL,将修改过的属性位集s作为第三个参数,把修改过的属性设置写回内核。

这样就完成了对打开的磁盘文件的缓冲的设置,但是如果没有充分的理由,建议不要关闭缓冲。

3 自动添加模式

3.1 问题描述

自动添加模式对于多个进程同时写入文件时很有帮助,以日志文件wtmp为例,wtmp保存所有用户的登录和退出的记录。当一个用户登录时,程序login在文件wtmp文件末尾追加一条登录记录。当一个用户退出时,系统在wtmp文件末尾追加一条退出的记录。多个进程对同一个共享文件的操作实际包含两个独立的步骤,lseek和write,但是系统不能保证进程能一次性完成这两个步骤,如图2所示。

如果两个用户按照如下的步骤进行登陆;

时间1——进程B的登陆进程定位到文件的末尾

时间2——B的时间片用完,A的登陆进程定位文件的末尾

时间3——A的时间片用完,B的登陆进程写入记录

时间4——B的时间片用完,A的登陆进程写入记录

此时,A的登陆进程写入的记录覆盖了B的记录,B的登陆记录丢失。

此种情况的产生源于进程之间的竞争,同样是上述两个进程,不同的执行顺序可能会有不同的结果,可能A的登陆记录丢失,可能B的登陆记录丢失,也可能都不丢失。

竞争是系统编程面临的重要问题,可以有很多种方法避免竞争,如使用信号量。但在本例所示的情况下,内核提供了一个简单的解决方法:自动添加模式,即对文件连接打开O_APPEND属性,当磁盘文件连接的O_APPEND属性被开启后,每个对该文件的write系统调用将会自动调用lseek将内容添加到文件的末尾。

3.2 示例代码

3.3 代码分析

本例和上一个例子一样,对连接属性的修改遵循三个步骤:

首先fcntl系统调用使用两参数的形式,得到当前的属性位集,使用整形变量s存放。

对于得到的位集s,将s与标志O_APPEND进行逻辑或操作,将相应的属性打开。

最后使用fcntl系统调用的三地址形式,把修改过的属性设置写回内核。

本例中使用到操作系统中一个非常重要的内容:原子操作,原子操作的特点是执行时不会被中断。原子操作可以解决竞争带来的错误问题,对lseek和write的调用是独立的系统调用,内核可以随时打断进程,从而使得操作被中断。当O_APPEND被置位,内核将lseek和write组合成一个原子操作,被连接成一个不可分的单元,由于原子操作执行时不会被中断,因而可以保证登陆信息的准确写入。

4 结束语

文件系统是操作系统的重要组成部分,对文件的打开和使用需要按照规定的方式,但是为了系统的灵活性考虑,文件的使用方式是可以修改的,Linux系统提供的fcntl系统调用使得用户可以在程序中方便的改变文件的使用方式,本文仅针对两种特定的应用描述了连接控制的一般方法,Linux系统针对连接属性提供了丰富的标志,而且可以同时使用多个标志,通过不同标志间的组合,进一步扩展文件使用的灵活性。

参考文献

[1]Stevens W R.UNIX环境高级编程[M].尤晋元,译.北京:机械工业出版社,2000:124-253.

[2]Molay B.Unix/Linux编程实践教程[M].杨宗源,黄海涛,译.北京:清华大学出版社,2004:168-206.

[3]费翔林.李敏,叶保留.Linux操作系统实验教程[M].北京:高等教育出版社,2009:72-84.

[4]张魏群.浅析Linux的文件系统和磁盘管理[J].科教文汇,2009(8):270.

[5]王侠,高胜哲.Linux的文件系统[J].辽宁税务高等专科学校学,2005(2):40-42.

[6]刘晋辉,郭玉东.Linux文件访问控制技术[J].信息工程大学学报,2004(1):67-69.

属性文件论文 篇2

系统的这些显示属性是以文件夹为单位的,也就是说可以为不同文件夹设置不同的显示方式,此后系统就会自动记住用户的设置,当用户再次打开该文件夹时就自动将其显示为上次退出时设置的显示方式,这就进一步方便了用户的使用,

不过这里又有一个问题,那就是要是希望将不同文件夹的显示方式全部统一为某一种显示方式又该如何呢?其实只需打开一个文件夹,并将其显示状态设置为自己所希望的状态,然后在按住Ctrl键的同时单击该文件夹窗口的“关闭”按钮。

用好文件“属性” 解决实际问题 篇3

1 顽固文件难删 改改属性搞定

在文件或文件夹的删除过程中,我们有时会遇到无法删除的情况,尤其在删除一些系统升级或重装留下的文件时,更会出现权限不够而无法删除文件的情况。

遇到这种情况,只需在文件夹的右键属性窗口中,通过“安全”选项卡下的“高级”按钮(图1),将所有者更改为当前登录的用户,然后更改文件删除权限,同时启用继承选项,这样就可以顺利删除顽固文件了(图2)。

2 文档意外丢失 属性帮你恢复

如果处理一篇文档(比如Word文档),中途因为某种原因造成文档内容出错或丢失,按照常规的办法是寻求编辑器自身的自动恢复或留存的备份,但当这些都无果后,我们还可以寻得另一根救命稻草,那就是“文件历史版本”。

在一个Word文档上单击右键并选择属性窗口中的“以前的版本”选项卡,可以看到其中显示没有早期的版本(图3)。这是因为你没有开启文件历史记录功能所致,如果开启了文件历史记录功能,那么在历史记录的备份盘中就会留下文件的历史记录版本。与此同时,在文件属性的“以前的版本”列表中,就会出现相应的恢复记录,点击下方的“打开”或“还原”按钮就可以使用了。

3 删除相关属性 清理个人隐私

除了在文档内容或文档名中标注创建者或使用者的信息外,在文件属性中,某些文档不经意间也会留下用户的一些个人信息记录,关键时刻也会泄露隐私。我们可以通过文件属性的“详细信息”窗口下方的“删除属性和个人信息”文字链接,删除某些信息记录(图4)。

在“删除属性”窗口中,选择“从此文件中删除以下属性”,然后选择删除其中的某些个人信息,例如“所有者”、“计算机名”等描述,将其删除即可(图5)。

4 磁盘容量不足 属性也能帮忙

由于规划不足或安装的软件太多等原因,有时我们会发现系统盘的剩余空间不足了。这时,除了清理垃圾、卸载软件、转移用户文件或者给分区扩容外,其实还有另一种选择,那就是压缩该分区中已有的系统文件。

右键单击要压缩的系统文件夹,从菜单中选择“属性”,然后单击“常规”选项卡下的“高级”按钮,在高级属性对话框中,选中“压缩内容以便节省磁盘空间”(图6),确定压缩即可获得更多剩余空间。

5 软件跨版移植 属性设置兼容

Windows XP或Windows 7时期开发的游戏不乏经典,因而不少人还在玩。但有些游戏或程序在跨越版本到Windows 10上运行,会出现无法运行的情况。这个问题也可以通过改变游戏软件主程序属性的办法来解决。

右击软件的EXE主程序,通过属性窗口的“兼容性”选项卡,设定相应级别的兼容性选项,选择原游戏运行最稳定的系统版本,设置原游戏使用的颜色和显示模式,测试其在不同兼容性设置情况下的运行情况,以取得能够正常运行的效果(图7)。

6 属性设定权限 限制程序运行

太低的程序运行级别会影响系统安全。为此,可将程序设定为管理员身份运行,这样,低于管理员级别的程序启动行为,就无法运行该程序。

为此,只需右击程序启动的快捷方式,从右键菜单“属性”窗口中点击“快捷方式”选项卡,然后点击“高级”按钮,在接下来弹出的高级属性设置窗口中,选中“用管理员身份运行”,然后确定即可(图8)。

火速链接

如何开启文件的历史记录功能?详细方法请参阅本刊2016年第14期文章《用好Windows 10文件历史记录》。

小技巧

属性文件论文 篇4

自2001年党中央和国务院对全国电子政务建设和发展作出全面系统的部署和安排后, 我国电子政务发展迅速, 地方和部门的电子政务建设普遍开展, 组织体系不断健全。电子政务在改善公共服务、加强社会管理、强化综合监管、完善宏观调控方面发挥了重要作用。在着眼于服务群众、政务公开的发展趋势下, 越来越多的内网数据需要在互联网上公开, 以便民众监督;越来越多的职能机构需要通过互联网实现信息交换, 以便高效办公;越来越广的政府部门需要跨网络实现数据交换, 以便数据共享。

然而, 由于电子政务内、外网在涉密性要求、具体职能、业务范围以及服务对象等方面存在着差异, 因而内、外网在证书认证体系也存在明显的区别。政务外网CA认证服务主要通过向外网接入单位发放证书从而统一实现用户管理、身份认证、授权管理等功能, 外网证书发放的终端服务对象为公众、企业和政府部门相关人员。而为保护内网应用安全, 内网CA认证应用仅限于向内网接入单位发放证书, 因此内网证书发放的终端服务对象为政府部门及重要企事业单位工作人员[1]。当内外网之间的用户需要进行文件交换时, 由于内外网之间证书体系结构的差异性, 难以实现方便快捷的文件交换。因此, 如何在交换过程中解决证书的差异性问题并支持访问控制策略的动态变更是急需解决的问题。

现有的主流安全交换产品在文件安全交换过程中对发送的文件采取数字信封技术, 这样既保证了在传输过程中文件的真实内容无法被第三方获取, 也保证了只有接收者方可解密文件。然而, 这种方式也存在明显的弊端。当接收方的数量比较多时, 就需要对传输文件进行多次的加密及签名操作, 大大降低了系统运行效率。用于保证文件交换安全的另一种方式是通过源地址、目的地址、端口、IP地址、协议等多种元素对交换文件实施访问控制, 以判断其是否符合安全策略。但是这种方式的安全性难以得到保证, 并且当客户端的IP地址等信息出现更改时, 控制操作亦需要随之改变, 导致操作程序更为复杂, 效率不高。此外, 当前的安全交换产品都是在同一个证书中心的情况下完成交换任务的, 并没有考虑到当内外网CA认证服务体系结构不同时所带来的安全通道是否可成功建立的问题。

在分析了上述存在的问题后, 笔者基于CP-ABE及代理重签名算法, 设计了一种高效动态的文件安全交换方案。本方案在保证安全性的前提下避免了交换服务器签名二次转换的时间开销, 减少了客户端的权限管理代价, 从而达到高效动态的访问控制的目的。

一、预备知识

1.1 CP-ABE

基于属性的加密是 (ABE) 最初由Sahai和Waters[2]提出。其基本思想是, 将一组属性来刻画每个用户, 而每个属性对应于一个或者一组密钥。这里的属性一般就是指系统所关心的一些特质, 例如, 职位, 所属部门, 工作时间等等。明文通过一种加密方式将访问控制信息与对应的属性结合起来得到密文。当解密者拥有了符合这个访问控制结构的密钥时, 才可解密。随后ABE算法发展为密钥策略 (KP-ABE) 和密文策略 (CP-ABE) 两类。其中KP-ABE的密钥与访问控制策略关联, 而CP-ABE的密文与访问控制策略关联, 因此后者更贴近实用环境。典型的CP-ABE访问控制结构示意图如图1所示。

用户:

CP-ABE算法主要包含4个步骤:

Steup。生成主密钥MK和公开参数PK。

。使用PK、访问控制结构T将数据明文M加密为密文CTT。

由于ABE算法可以实现一对多及密文访问控制等优良特性, 可以在文件安全交换中可以得到很好的应用。

1.2代理重签名

Blaze[3]等人在1998年的EUROCRYPT中首次提出了代理重签名的概念。一个拥有某些额外信息的半可信代理人可以把受理人的签名转换为授权人关于同一个消息的签名, 而这个代理人不能得到受理人或授权人的签名密钥, 也不能任意生成他们的签名。代理重签名方案由于其独特的签名转换功能, 可以应用于许多应用场景, 如简化证书管理、路径证明、管理群签名、构造DRM的跨域操作系统等[4~6]。例如, 通过代理重签名可以简化不同证书中心 (certificate authority, 简称CA) 的用户之间建立安全信道的过程.只要CAI和CAⅡ之间存在一个半可信的代理人, 它就能暂时地把CAI的证书转换为CAⅡ的证书, 使得用户之间建立安全信道的过程更为快捷。一个代理重签名方案由5个多项式时间算法 (Key Gen, Re Key, Sign, Re Sign, Verify) 组成:

二、基于属性的文件安全交换方案

本节描述了基于属性的高效动态文件安全交换方案。首先描述其实现思路及相关说明, 然后描述方案的实现及具体操作。

2.1方案构造

本方案主要解决了交换过程中存在的内外网证书格式的差异性问题并基于属性实现了高效动态的访问控制方法[7~9]。由于ABE算法的效率不适合直接用于加密大型数据文件, 因此首先使用对称加密算法 (例AES, 3DES等) 加密数据文件得到数据密文, 并签名发送给交换服务器, 交换服务器先对已签名数据密文重签名, 然后使用ABE加密该对称密钥得到密钥密文, 用户通过依次解密密钥密文和数据密文访问数据文件。过程如图2所示。

访问控制策略发生变化时可能需要更新相应的数据密文和密钥密文。而本方案中数据密文及密钥密文的更新完全由交换服务器完成, 降低了客户端的代价。

2.2方案实现

本节具体介绍了方案的具体操作, 包括文件的创建、访问等基本功能, 授权和撤消等访问控制功能以及重签名、认证等安全验证功能的实现过程[10,11]。本方案适用的文件安全交换环境如图3所示:

2.2.1系统初始化

文件安全交换系统中每个用户拥有一个公私钥对Pa、Sa, 其中Pa存储在用户证书中, 对外公开;Sa由用户私有, 存储在客户端。Sa用于信息签名, 以保证信息来源的真实性, Pa则由其他用户验证信息来源的真实性。

此外属性中心运行Setup以产生公钥PK和主密钥MK。若一个用户U的属性集合为Au={Doctor, A}, 则属性中心为其生成SKu=Key Gen (Au, MK) , 并将SKu通过安全信道发送给U。访问控制策略的变更不需要重新颁发密钥。

定制交换行为发生时, 首先由交换服务器生成此次用于加密交换内容的会话密钥Kd, 并通过安全信道的发送给发送方。

2.2.2文件发送

发送方使用会话密钥Kd加密文件f并签名得到数据密文Cf= (Enc (f, Kd) , Sig (Enc (f, Kd) , Sa) ) , 并将数据密文发送给交换服务器。在实际交换过程中, 访问权限相同的若干个文件一般划分为一个主题, 接收方通过对主题的定制可以获得同一主题的所有文件。

2.2.3权限授予

当用户想获得某一个主题的接收权限时, 需要向交换服务器提出申请, 由交换服务器判定是否授予其相应的权限。一次授权操作可能将权限授予一个或多个用户。设被授权者U的属性结构为Tu, 文件f当前的访问控制结构为T, 则交换服务器授权U访问f的步骤如下:

U向交换服务器提出对文件f的访问请求;

交换服务器通过对已有策略信息的查询, 进行判断;

交换服务器计算;

交换服务器使用T*加密Kd得到新的密钥密文Ck*=Encrypt (Kd, T, PK*) 。

2.2.4文件访问

用户U访问文件f的过程如下:

U向交换服务器发起对文件f的访问请求;

交换服务器向其返回f对应的Cf和Ck;

若Au满足f的访问控制结构, 则U解密Ck得到会话密钥Kd=Decrypt (Ck, SKu) ;

U验证数据密文的真实性和完整性, 即是否来自交换服务器和是否遭到篡改。Verify= (Pk*, Enc (f, Kd) , Sig (Enc (f, Kd) , Sa) ) , 若正确则输出1, 否则输出0;

U使用会话密钥Kd解密Cf获得数据明文。

2.2.5权限撤销

设文件f当前的访问控制结构为T, 撤消用户U对文件f的访问权限之后, f的访问控制结构为T*。则撤销用户对文件f的访问控制树根的流程如下所示:

交换服务器随机生成一个新的会话密钥Kd*;

交换服务器更新发送方的会话密钥;

发送方生成新的数据密文Cf*= (Enc (f, Kd*) , Sig (Enc (f, Kd*) , Sa) ) 并发送给交换服务器;

交换服务器对已签名的数据密文重签名Resign (, Pa, Enc (f, Kd*) , Sig (Enc (f, Kd*) , Sa) ) ;

交换服务器生成新的密钥密文Ck*=Encrypt (Kd*, T*, PK) 。

三、安全性分析

本节主要对提出方案的安全性进行分析, 本方案是在假定交换双方对交换服务器信任的前提下实行的, 接收者需根据所保存的密钥信息对存储在交换服务器中加密存储数据进行相应的访问操作, 并通过公开的公钥证书信息对交换服务器重签名的数据密文的真实性进行验证。下面对重签名的验证及访问控制策略的安全性进行如下分析。 (1) 数据访问权限的安全管理。会话密钥的产生及管理, 以及用户进行访问的授权可信的交换服务器实施, 保证了访问权限管理的安全。 (2) 端到端的加密。数据在以加密方式信道中传输, 保证了数据传输与存储中的机密性。 (3) 加密密钥的安全管理。采用混合加密体制来保证会话密钥不被非法用户获得 (以会话密钥加密数据保证加密的高效性, 以CP-ABE对会话密钥进行加密) 。

总结

由于电子政务内、外网在涉密性要求、具体职能、业务范围以及服务对象等方面存在差异, 导致内、外网在CA认证服务上存在着一定的差别, 目前的交换方案并未考虑证书体系结构的差异性问题, 且未能实现在交换过程中高效动态的访问控制。本文在分析现有方案的基础上, 结合交换过程的动态高效需求, 提出了一种基于属性具有重签名性质的高效动态访问控制方法, 在保证用户数据机密性的同时, 实现了不同CA证书体系结构的转换, 从而实现了高效动态的访问控制方法。由于本文仅从代理重签名的角度考虑问题并提出试解决途径, 并未将代理重签名函数包括在CP-ABE中, 也未能构造一个全功能的算法。因而, 应对代理重签名算法进行下一步的研究, 使其更好的应用到数据安全交换系统中。

参考文献

[1]唐鹏.浅析我国电子政务内, 外网CA认证架构体系[EB/OL].http://www.stateca.gov.cn/NewsInfo.aspx, 2012.

[2]SAHAI A, B WATERS.Fuzzy identity-based encryption[A].Proceedings of EUROCRYPT 2005[C].Berlin, 2005.

属性文件论文 篇5

答:如果你的源文件很多,假设都放在D:books这个路径中,你可以依次点击“开始→附件”,找到“命令提示符”后,鼠标右键点击,选择“以管理员身份运行”打开命令提示符,然后敲入如下命令:

attrib -r d:/books/*.*

上一篇:刚性结构下一篇:新闻点睛