一. 权限的由来
  远方的某个山脚下,有一片被森林包围的草原,草原边上居住着一群以牧羊为生的牧民。草原边缘的森林里,生存着各种动物,包括野狼。
  由于羊群是牧民们的主要生活来源,它们的价值便显得特别珍贵,为了防止羊的跑失和野兽的袭击,每户牧民都用栅栏把自己的羊群圈了起来,只留下一道小门,以便每天傍晚供羊群外出到一定范围的草原上活动,实现了一定规模的保护和管理效果。
  最初,野狼只知道在森林里逮兔子等野生动物生存,没有发现远处草原边上的羊群,因此,在一段时间里实现了彼此和平相处,直到有一天,一只为了追逐兔子而凑巧跑到了森林边缘的狼,用它那灵敏的鼻子嗅到了远处那隐隐约约的烤羊肉香味。
  当晚,突然出现的狼群袭击了草原上大部分牧民饲养的羊,它们完全无视牧民们修筑的仅仅能拦住羊群的矮小栅栏,轻轻一跃便突破了这道防线……虽然闻讯而来的牧民们合作击退了狼群,但是羊群已经遭到了一定的损失。
  事后,牧民们明白了栅栏不是仅仅用来防止羊群逃脱的城墙,各户牧民都在忙着加高加固了栅栏……

  如今使用WINDOWS  XP VISTA WIN7 的人都听说过“权限”(Privilege)这个概念,但是真正理解它的家庭用户,也许并不会太多,那么,什么是“权限”呢?对于一般的用户而言,我们可以把它理解为系统对用户能够执行的功能操作所设立的额外限制,用于进一步约束计算机用户能操作的系统功能和内容访问范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
  
     对计算机来说,系统执行的代码可能会对它造成危害,因此处理器产生了Ring(圈内,环内)的概念,把“裸露在外”的一部分用于人机交互的操作界面限制起来,避免它一时头脑发热发出有害指令;而对于操作界面部分而言,用户的每一步操作仍然有可能伤害到它自己和底层系统——尽管它自身已经被禁止执行许多有害代码,但是一些不能禁止的功能却依然在对这层安全体系作出威胁,例如格式化操作、删除修改文件等,这些操作在计算机看来,只是“不严重”的磁盘文件处理功能,然而它忽略了一点,操作系统自身就是驻留在磁盘介质上的文件!因此,为了保护自己,操作系统需要在Ring 的笼子里限制操作界面基础上,再产生一个专门用来限制用户的栅栏,这就是现在我们要讨论的权限,它是为限制用户而存在的,而且限制对每个用户并不是一样的,在这个思想的引导下,有些用户能操作的范围相对大些,有些只能操作属于自己的文件,有些甚至什么也不能做……
  

                         正因为如此,计算机用户才有了分类:管理员、普通用户、受限用户、来宾等……
  

还记得古老的WINDOWS 9x和MS-DOS吗?它们仅仅拥有基本的Ring权限保护(实模式的DOS甚至连Ring分级都没有),在这个系统架构里,所有用户的权力都是一样的,任何人都是管理员,系统没有为环境安全提供一点保障——它连实际有用的登录界面都没有提供,仅仅有个随便按ESC都能正常进入系统并进行任何操作的“伪登录”限制而已。对这样的系统而言,不熟悉电脑的用户经常一不小心就把系统毁掉了,而且病毒木马自然也不会放过如此“松软”的一块蛋糕,在如今这个提倡信息安全的时代里,WINDOWS 9x成了名副其实的鸡肋系统,最终淡出人们的视线,取而代之的是由WINDOWS NT家族发展而来的WINDOWS 2000,XP,VISTA 与 WIN7,此外还有近年来致力向桌面用户发展的Linux系统等,它们才是能够满足这个安全危机时代里个人隐私和数据安全等要求的系统。
  Win2000之后的系统都是microsoftWindows NT技术的产物,是基于服务器安全环境思想来构建的纯32位系统。NT技术没有辜负microsoft的开发,它稳定,安全,提供了比较完善的多用户环境,最重要的是,它实现了系统权限的指派,从而杜绝了由Win9x时代带来的不安全操作习惯可能引发的大部分严重后果。
  
二. 权限的指派
  
1.普通权限
  虽然Win2\X\V\win7等系统提供了“权限”的功能,但是这样就又带来一个新问题:权限如何分配才是合理的?如果所有人拥有的权限都一样,那么就等于所有人都没有权限的限制,那和使用Win9x有什么区别?幸好,系统默认就为我们设置好了“权限组”(Group),只需把用户加进相应的组即可拥有由这个组赋予的操作权限,这种做法就称为权限的指派。
  
默认情况下,系统为用户分了6个组,并给每个组赋予不同的操作权限,依次为:管理员组(Administrators)、高权限用户组(Power Users)、普通用户组(Users)、备份操作组(Backup Operators)、文件复制组(Replicator)、来宾用户组(Guests),其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。
  
      系统默认的分组是依照一定的管理凭据指派权限的,而不是胡乱产生,管理员组拥有大部分的计算机操作权限(并不是全部),能够随意修改删除所有文件和修改系统设置。再往下就是高权限用户组,这一部分用户也能做大部分事情,但是不能修改系统设置,不能运行一些涉及系统管理的程序。普通用户组则被系统拴在了自己的地盘里,不能处理其他用户的文件和运行涉及管理的程序等。来宾用户组的文件操作权限和普通用户组一样,但是无法执行更多的程序。
  
     这是系统给各个组指派的权限说明,细心的用户也许会发现,为什么里面描述的“不能处理其他用户的文件”这一条规则并不成立呢,我可以访问所有文件啊,只是不能对系统设置作出修改而已,难道是权限设定自身存在问题?实际上,NT技术的一部分功能必须依赖于特有的“NTFS”(NT文件系统)分区才能实现,文件操作的权限指派就是最敏感的一部分,而大部分家庭用户的分区为FAT32格式,它并不支持NT技术的安全功能,因此在这样的文件系统分区上,连来宾用户都能随意浏览修改系统管理员建立的文件(限制写入操作的共享访问除外),但这并不代表系统权限不起作用,我们只要把分区改为NTFS即可。
  
2.特殊权限
  除了上面提到的6个默认权限分组,系统还存在一些特殊权限成员,这些成员是为了特殊用途而设置,分别是:SYSTEM(系统)、Everyone(所有人)、CREATOR OWNER(创建者)等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。
  前面我提到管理员分组的权限时并没有用“全部”来形容,秘密就在此,不要相信系统描述的“有不受限制的完全访问权”,它不会傻到把自己完全交给人类,管理员分组同样受到一定的限制,只是没那么明显罢了,真正拥有“完全访问权”的只有一个成员:SYSTEM。这个成员是系统产生的,真正拥有整台计算机管理权限的账户,一般的操作是无法获取与它等价的权限的。
  “所有人”权限与普通用户组权限差不多,它的存在是为了让用户能访问被标记为“公有”的文件,这也是一些程序正常运行需要的访问权限——任何人都能正常访问被赋予“Everyone”权限的文件,包括来宾组成员。
  被标记为“创建者”权限的文件只有建立文件的那个用户才能访问,做到了一定程度的隐私保护。
  但是,所有的文件访问权限均可以被管理员组用户和SYSTEM成员忽略,除非用户使用了NTFS加密。
  无论是普通权限还是特殊权限,它们都可以“叠加”使用,“叠加”就是指多个权限共同使用,例如一个账户原本属于Users组,而后我们把他加入Administrators组,那么现在这个账户便同时拥有两个权限身份,而不是用管理员权限去覆盖原来身份。权限叠加并不是没有意义的,在一些需要特定身份访问的场合,用户只有为自己设置了指定的身份才能访问,这个时候“叠加”的使用就能减轻一部分劳动量了。

3.NTFS与权限
  在前面我提到了NTFS文件系统,安装过Win XP Vista和win7的用户应该会注意到安装过程中出现的“转换分区格式为NTFS”的选择,那么什么是NTFS?NTFS(New Technology File System)是一个特别为Network和磁盘配额、文件加密等管理安全特性设计的磁盘格式,只有使用NT技术的系统对它直接提供支持,也就是说,如果系统崩溃了,用户将无法使用外面流行的普通光盘启动工具修复系统,因此,是使用传统的FAT32还是NTFS,一直是个倍受争议的话题,但如果用户要使用完全的系统权限功能,或者要安装作为服务器使用,建议最好还是使用NTFS分区格式。
  与FAT32分区相比,NTFS分区多了一个“安全”特性,NT用户可以进一步设置相关的文件访问权限,而且前面提到的相关用户组指派的文件权限也只有在NTFS格式分区上才能体现出来。例如,来宾组的用户再也不能随便访问到NTFS格式分区的任意一个文件了,这样可以减少系统遭受一般由网站服务器带来的入侵损失,因为IIS账户对系统的访问权限仅仅是来宾级别而已,如果入侵者不能提升权限,那么他这次的入侵可以算是白忙了。
  使用NTFS分区的时候,用户才会察觉到系统给管理员组用户设定的限制:一些文件即使是管理员也无法访问,因为它是SYSTEM成员建立的,并且设定了权限。(图.NTFS权限审核导致访问被拒绝)
  但是NTFS系统会带来一个众所周知的安全隐患:NTFS支持一种被称为“交换数据流”(AlternateDataStream,ADs)的存储特性,原意是为了和Macintosh的HFS文件系统兼容而设计的,使用这种技术可以在一个文件资源里写入相关数据(并不是写入文件中),而且写进去的数据可以使用很简单的方法把它提取出来作为一个独立文件读取,甚至执行,这就给入侵者提供了一个可乘之机,例如在一个正常程序里插入包含恶意代码的数据流,在程序运行时把恶意代码提取出来执行,就完成了一次破坏行动。
  不过值得庆幸的是,数据流仅仅能存在于NTFS格式分区内,一旦存储介质改变为FAT32、CDFS,exFAT等格式,数据流内容便会消失了,破坏代码也就不复存在。
  
4.权限设置带来的安全访问和故障
  很多时候,管理员不得不为远程Network访问带来的危险因素而担忧,普通用户也经常因为新漏洞攻击或者IE浏览器安全漏洞下载的网页木马而疲于奔命,实际上合理使用NTFS格式分区和权限设置的组合,足以让我们抵御大部分病毒和骇客的入侵。
  首先,我们要尽量避免平时使用管理员账户登录系统,这样会让一些由IE带来的病毒木马因为得不到相关权限而感染失败,但是国内许多计算机用户并没有意识到这一点,或者说没有接触到相关概念,因而大部分系统都是以管理员账户运行的,这就给病毒传播提供了一个很好的环境。如果用户因为某些工作需要,必须以管理员身份操作系统,那么请降低IE的运行权限,有试验证明,IE运行的用户权限每降低一个级别,受漏洞感染的几率就相应下降一个级别,因为一些病毒在例如像Users组这样的权限级别里是无法对系统环境做出修改的。降低IE运行权限的方法很多,最简单的就是使用microsoft自家产品“Drop MyRights”对程序的运行权限做出调整

  距离上一次狼群的袭击已经过了很久,羊们渐渐都忘记了恐惧,一天晚上,一只羊看准了某处因为下雨被泡得有点松软低陷的栅栏,跳了出去。可惜这只羊刚跳出去不久就遭遇了饿狼,不仅尸骨无存,还给狼群带来了一个信息:栅栏存在弱点,可以突破!
  几天后的一个深夜,狼群专找地面泥泞处的栅栏下手,把栅栏挖松了钻进去,再次洗劫了羊群。从来以后牧民们开始轮流拿着枪带着牧羊犬巡视这羊圈(大家想到什么!没错正是UAC保护 呵呵)
  以后狼群的进攻被牧民们击退了,吸取了而且在不断吸取教训,牧民们在加固栅栏时都会把栅栏的根部打在坚硬的泥地上,并且嵌得很深。饿狼们,还会再来吗?
  
    权限是计算机安全技术的一个进步,但是它也是由人创造出来的,不可避免会存在不足和遗漏,我们在享受权限带来的便利时,也不能忽视了它可能引起的安全隐患或者设置失误导致的众多问题。要如何才算合理使用权限,大概,这只能是个仁者见仁,智者见智的问题了。