Windows 2000中NTFS磁盘权限应用

06-28

WIN2000中添加了一个与WIN98及以前的WINDOWS版本不同的一个特性,那就是NTFS权限,由于有了这个特性,那么在WIN2000中就可以实现文件夹及文件级别的安全控制,这不同于WIN98中的帐号和密码,在WIN98中,只要知道了帐号和密码,那么就可以对计算机完全控制,而无法实现对某个帐户只允许读取某个文件夹或者某个文件的功能。而在WIN2000中,完全可以完美的实现这一点。OK,Let's go!

首先,先说一下要实现该功能的前提条件,那就是你的分区必须是NTFS分区,如果是FAT或者FAT32分区的话,那么是无法实现该功能的,其实如果你的电脑上只有一个WIN2000操作系统的话,或者说只要你的机子上没有装WIN98及WIN98以前的系统的话,那么用NTFS分区是一个非常好的选择,这将大大提高你的系统的稳定性和安全性。如果你的分区是FAT32分区,那么可以通过这条命令来把他转成NTFS分区:

convert x: /fs:ntfs

其中的x可以用实际的盘符替换。不过要注意的一点是,WIN98是无法识别NTFS格式的分区的,也就是说如果在WIN98的分区使用NTFS格式,那么WIN98将无法使用。而且该命令是不可逆的,也就是说该命令只能将FAT32转换成NTFS格式,而无法将NTFS格式转换成FAT32格式,如果要转换回来的话,那么要用PQ等软件才能实现。

好了,现在言归正传,使用了NTFS分区以后,你必须为需要访问一个资源的每一个用户帐号授予NTFS权限,用户必须获得明确的授权才能访问经过设置的资源。如果没有权限,那么它将被拒绝访问该资源。打个比方:假设有一个文件,我对他进行NTFS权限设置,我设置成只有我自己和A用户才能访问,那么除了我和A以外,其他任何帐户登陆都将无法使用该文件,WIN2000会给出“没有适当的权限读取”等字样的提示。这就实现了该文件的安全性,而且该安全性无论是在计算机上还是在网络上都有效,也就是说即使通过网络连接到该计算机,也只有我和A用户可以使用该文件,其他人也是无法使用的,虽然该文件被共享,但是其他人只能看到有这个文件,但是却不能读取,呵呵,有点看得见,吃不着的意思吧?

在WIN2000中有个叫做Access Control List(ACL,访问控制列表)的东西,里面包含了可以访问该资源的用户的帐户,组和计算机。当一个用户访问该资源时,那么必须在ACL中有它的帐号,那么WIN2000才允许该用户访问该资源,否则拒绝

这里要说明的一点是,和我们想象的不一样,WIN2000不是根据用户名是否相同来识别用户的,每一个帐号在创建的时候都有一个Security ID(SID,安全标识符),WIN2000是根据这个SID是否相同来识别用户的,如果SID不一样,就算用户名等其它设置一模一样,WIN2000也会认为是不一样的两个帐号,这就像我们领奖的时候,只认你的身份证是否符合,而不管你的名字是否相同是一个道理的,而该SID是WIN2000在创建该帐号的时候随机给的,所以说当删除了一个帐号后,再次重新建立一个一模一样的帐号,其SID和原来的那个是不一样,那么他的NTFS权限就必须重新设置。

现在说一下NTFS权限的实际应用。用鼠标右键点击你想要设置权限的文件或者文件夹,选属性->安全,这时你可以看到允许使用该文件的帐号或者组,默认是都有Everyone组的,该组表示所有的用户,下面部分就是可以为该组或者帐号设置的权限。如果Everyone的权限设置为完全控制,那么意味着所有的用户都可以随意操作该文件,包括读取,修改,删除等等。这也是WIN2000默认的权限。你还可以添加帐号,为帐号设置权限,这个只要你自己操作一下就知道怎么操作了,现在我只是举个例子来说明一下:

假设有一个文件叫做FILE,我要设置为只有USER1,USER2和USER3这三个用户可以使用该文件,但是USER1用户可以随意操作该文件,USER2用户只能读取该文件,而不能进行如修改等等的其他操作,USER3可以读取,可以写入,但是不能删除该文件,我说明一下具体的操作方法。

1、右键点击FILE,选属性->安全

2、将下面的“允许将来自父系的可继承权限传播给该对象”前面的勾去掉。他会弹出一个对话框,选删除。也就是说把上面的Everyone等所有的帐号删除。

3、点添加,弹出一个对话框,选中USER1,添加,确定。

4、然后选中USER1,在“完全控制”后面的“允许”下面打上勾。

5、依照前面的方法添加USER2。

6、选中USER2,在“读取”后面的“允许”中打勾,其他的勾全部去掉。

7、添加USER3。

8、选中USER3,在“修改”后面的“允许”中打勾,确认“完全控制”的勾去掉。

9、选“高级”,选中USER3,点“查看/编辑”。把里面的“删除”后面“允许”的勾去掉。

10、搞定!!! ^-^

这时,用USER1登陆,那么你可以完全控制该文件

用USER2登陆,可以打开该文件,当保存的时候会出现“不能创建FILE,请确认路径和文件名是否正确”的提示框。这说明现在USER2无法保存该文件。当然也无法进行其它操作,他只能读取该文件。

用USER3登陆,可以打开该文件,也可以保存。当删除该文件的时候会出现“无法删除FILE:拒绝访问。源文件可能正在使用”的提示框,说明无法删除该文件。

***** 提醒:在未完全搞清楚权限的用法之前,最好随便创建一个没有用的文件,然后再进行试验,这样比较安全。否则搞得重要文件被删除了可不关我的事情。

至于给文件夹设置安全,步骤和上面差不多,不过文件夹会多了一个继承,也就是说可以选择权限设置是仅仅对该文件夹进行起作用,还是对该文件夹和该文件夹的子文件夹及文件起作用。只要将“重置所有子对象的权限并允许传播可继承权限”前面打勾就可以了。

重点及难点

多重NTFS权限问题一直是很多人搞不清楚的,现在作介绍并举例说明。

******注意:以下说明的是多重NTFS权限之间的问题,非NTFS权限和共享权限之间的多重。

1、权限的积累

用户对资源的有效权限是分配给该个人用户帐户和用户所属的组的所有权限的总和。如果用户对文件具有“读取”权限,该用户所属的组又对该文件具有“写入”的权限,那么该用户就对该文件同时具有“读取”和“写入”的权限,举例如下:

假设情况如下所示:

有一个文件叫FILE。
USER1用户属于GROUP1组

USER1(读取权限)----> FILE <----GROUP1(写入权限)



USER1对FILE的权限为 读取+写入

2、文件权限高于文件夹权限

意思就是说NTFS文件权限对于NTFS文件夹权限具有优先权,假设你能够访问一个文件,那么即使该文件位于你不具有访问权限的文件夹中,你也可以进行访问(前提是该文件没有继承它所属的文件夹的权限)。

举例说明如下:假设你对文件夹FOLDER没有访问权限,但是该文件夹下的文件FILE.TXT没有继承FOLDER的权限,也就是说你对FILE.TXT文件是有权限访问的,只不过你无法用资源管理器之类的东西来打开FOLDER文件夹,你无法看到文件FILE而已(因为你对FOLDER没有访问权限),但是你可以通过输入它的完整的路径来访问该文件。比如你可以用 c:/folder/file.txt来访问FILE文件(假设在C盘)。

3、拒绝高于其他权限

拒绝权限可以覆盖所有其他的权限。甚至作为一个组的成员有权访问文件夹或文件,但是该组被拒绝访问,那么该用户本来具有的所有权限都会被锁定而导致无法访问该文件夹或文件。也就是说上面第一点的权限累积原则将失效。举例说明如下:

假设情况如下:

有一个文件叫FILE。
USER1用户属于GROUP1组

USER1(读取权限)----> FILE <----GROUP1(拒绝)



拒绝访问

那么USER1对FILE的权限将不再是:读取+写入,而是无法访问文件FILE。

另外一种情况是拒绝原则与累计原则并存,举例如下:

有一个文件叫FILE。
USER1用户属于GROUP1组,同时也属于GROUP2组,

USER1(读取权限)



GROUP1(写入权限)----> FILE <----GROUP2(拒绝写入)



读取

那么USER1对FILE的权限为:读取(根据累计原则,USER1对FILE本来有:“读取+写入”权限,但是由于USER1所属的GROUP2组被拒绝写入,所以就只剩下“读取”权限了