如何在Windows XP Home Edtion中配置文件访问的ACL

由于新电脑自带的系统是Windows XP Home Edtion,而且最可悲的是在我电脑基本软件都安装好,数据也转移好的情况下才发现的,晴天霹雳啊。

 

后来想想也算了,反正现在是用VS2005开发,即便是编写ASP.NET程序也不需要依赖于IIS了,所以也就想先用着好了。

 

但是今天在编写一个Windows程序的时候却发现了另外一个问题,在Windows XP Home Edtion的版本中不能通过取消“文件选项的简单文件共享”然后在文件属性的“安全”选项卡中设置文件访问的ACL。难道让我将文件系统更改为FAT32,但是撇开安全性不说,光那单独文件4GB的限制,对于爱好高清电影的我也是一个蛮大的限制。

 

在网络上查找了一下,总算发现了一个解决方法,不是曲线救国,也不是偷梁换柱,确实在XP Home Edtion存在这样一个命令 -- cacls 可以对文件、文件夹进行ACL配置,也就是说在XP Pro Edtion中是存在界面的,但是在Home Edtion中却是用命令的方式存在的。

 

OK, 具体针对cacls的使用可以在“开始”-> “运行” -> “cmd” 然后输入cacls后回车就可以查看到。

 

这里我只举一个例子,这个例子是我今天真是用到的。

 

我今天碰到的情况是,一个服务需要访问一个文件夹,服务使用的windows账户是: NT AUTHORITY / LOCAL SERVICE, 但是这个账户没有访问对应文件夹,如:c:/fujun/这个文件夹的权限,我们需要将这个账户对此文件夹访问的权限添加到对应文件夹及内部文件及子文件夹中,这里为了方便操作(不过多的考虑安全性,唉,我真不是一个称职的程序员)我就将LOCAL SERVICE的账户设置为完全控制c:/fujun/这个文件夹及子内容。

 

那么对应的cacls命令为:

 

cacls c:/fujun /t /e /c /g "NT AUTHORITY/LocalService":f

 

这里参数:/t 表示此次ACL的影响范围是当前文件夹及子文件夹及文件;

 

               /e 表示编辑ACL而不替换;

 

               /c 在出现拒绝访问错误时继续

 

               /g user:perm 赋予指定用户的访问权限, 这里的perm = f 是用来表示“完全控制”(full control)。

 

在执行此命令后,系统会将受影响的文件夹及文件列举出来以供查阅。

 

总感觉Home版的Windows XP让我没有安全感,什么时候看来还是要返回Pro的怀抱。:)

 

P.S. 这里最后插一句与此文相关不大的话,在软件的安全领域我们的系统很大程度上保护的对象就是保存在计算机上的数据,那么归根结底就是计算机上的文件资源,在Windows NT平台下,我们可以使用ACL来对文件的访问进行设置,这样作为对敏感数据的最后一道防线。

阅读更多
换一批

没有更多推荐了,返回首页