凭什么要这么大的权力?

原创 2006年06月02日 22:46:00

自然而然的,当我们安装完Windows后,我们就拥有一个管理员帐号,并且毫不犹豫地使用它,在Windows2000里,这个帐号是 Administrator,在XP里,它也存在,但由于在安装过程中会要求我们指定一个新的帐号(张三、李四或王二麻,它具有与管理员同样大的权限),所以一不小心就忘记Administrator的存在,特别地,做为一种(传统)习惯,大多数Adminstrator会忘记设置密码了。:(

好象,我们天生就应该在管理员帐号下做事,从来没有仔细想想,为什么Windows会划分出不同权限的帐号,也没有想想,用Office录入一些文档、用记事本写几行留言,玩玩游戏,上网聊聊天、浏览几个网站……这些普普通通的日常操作,凭什么就必须要求管理员权限呢?

什么是管理员,顾名思义,这个帐号是用来管理和维护计算机的(如安装新程序、更动配置),这个帐号具有至高无上的权力,它可以访问计算机中的任何一个文件夹、注册表中的任何一个键!!假定你的浏览器缺少一个关键补丁,当它访问一个恶意网站里会受到攻击,这个时候,如果你是在管理员帐号下,则病毒可以轻松地修改你的注册表(主要是 HKEY_LOCAL_MACHINE和HKEY_CLASSES),而如果正好和我一样,仅用Users这个组的用户去浏览网站,那么病毒根本没有权力碰到我的注册表(中的上述两个根键),它也完全无法伤及Windows、Program Files这些关键文件夹……

当然,做为一个程序员,为了调试程序,我这个仅仅有Users权限的帐号,还必须同时是“Debugger Users”组里的成员,特别的,当我使用VS2003的时候,我还同时隶属于“VS Developers”组……为什么要这么麻烦呢?原因是:

  • 我一边敲代码一边浏览网页的时候,不用担心被恶意网站攻击(虽然我现在用FireFox,受到攻击的可能性要比用IE小一些),就算我的浏览器有安全缺陷,但这个有BUG的程序没有权力动我的注册表。
  • 如果我有什么不小心的操作,或者不小心写错的代码,它们都不会误伤注册表(因为我只能访问HKEY_CURRENT_USER这个根键),也不会误伤到Windows目录和Program Files这两个关键文件夹,以及“Documents and Settings”中不属于我这个帐号的别人的东西。
  • 在设计和调试时,因为我的帐号权限不足于让我为所欲为,我就不会写出一些胡作非为的代码(比方说以读写方式访问HKEY_LOCAL_MACHINE、往Program Files下面写文件等),这样设计出来的代码会更加符合Windows的规范。作为一个例证,Delphi里著名的Id套件中的TIdIcmpClient,它必须在管理员帐号下才能正常工作,否则就会有一个SOCKET的10013错误,如果它的开发工作是在非管理员帐号下进行了,这种错误就会在第一时间内被发现

以上三点,最后一条特别重要,试想,象MS Office、Delphi、Visual Studio、Flash、Dreamweaver等商业软件,哪一个是必须要求在管理员帐号下运行的?因为它们都无一例外地做到了它们应该遵守的守则:

  • 永远不往程序自身目录写,因为程序通常被安装到Program Files文件夹里,该文件夹对于普通用户来说,是只读的。与之相反,很多(特别是国产)程序很喜欢往程序自身目录里写配置数据,而不是象微软推荐的那样,在注册表的HKEY_CURRENT_USER/Software/xxx键里存放用户自己的私有数据,或者用SHGetFolderPath来取得用户的私有文件夹。
  • 永远不往HKEY_LOCAL_MACHINE键中写,如果要打开这个键,一定用只读方式(为RegOpenKeyEx指定KEY_READ参数)。
  • 永远不用只读权限以外的权限去访问Windows这样的特殊目录。
  • 在访问内核对象的时候,一定会记住在访问之前,获得必需的特权。
  • ……

如果我们设计一个基于MSSQL的数据库应用系统,我们可以告诉客户”该程序必须以SA权限登录到数据库“吗?如果不是,那么,为什么我们的程序,就非得在管理员帐号下,才能正常运转呢?


(2006.8.17日补充:参考文章:不被流氓软件骚扰其实不难

大热剧《三生三世十里桃花》凭什么这么火?

要论最近的热门话题,不得不提大IP《三生三世十里桃花》改编的电视剧,该故事主要讲述了青丘帝姬白浅与九重天太子夜华之间三生三世纠缠不清的爱恨情仇。老实说这个话题绝对有毒,因为不管你是电视剧迷还是八卦粉、...
  • findoma
  • findoma
  • 2017年03月22日 11:17
  • 135

[美剧赏析] 权力的游戏<Game of Thrones>完全赏析 (35-36)

最近阿伟看多了五毛动画,突然想看看那些成熟的动画是怎样的,于是决定看几部美剧。 GoT是阿伟选择的第一站,由于这部作品的亮点非常的多,所以会进行全面的解析,这已 经不单纯是剧透的级别了。所以如...

谈你的网站“ 用户凭什么来“

  • 2010年04月09日 09:44
  • 9KB
  • 下载

冰与火之歌(权力的游戏)第二卷

  • 2017年08月11日 09:23
  • 1.03MB
  • 下载

[美剧赏析] 权力的游戏<Game of Thrones>完全赏析 (47-48)

最近阿伟看多了五毛动画,突然想看看那些成熟的动画是怎样的,于是决定看几部美剧。 GoT是阿伟选择的第一站,由于这部作品的亮点非常的多,所以会进行全面的解析,这已 经不单纯是剧透的级别了。所以如...

管理是权力的游戏吗?

前段时间,我接受了CSDN的采访。记者抽取了采访稿中的部分内容,发表了一篇题为“并不是所有的程序员都适合做技术管理”的文章。此文随即在网络上引起了热议。其中有个网友的观点挺有意思的,他引用了宋美龄关于...

Linux运维笔记-文档总结-用户操作与权力下放

以下所有操作都是在Red-hat 7.0上运行。1.用户理解 用户就是系统使用者的身份 在系统中用户存储为若干窜字符+若干个系统配置文件 用户信息涉及到的系统配置文件: /etc/passwd...

csdn【畅言】管理是权力的游戏吗?

url: 其中有个网友的观点挺有意思的,他引用了宋美龄关于“权力的滋味”的妙论,进而认为“所有人都适合管理……如果认为某些程序员真的不适合当管理,那只是他们还没有体会到权力的滋味。”...
  • jmlei
  • jmlei
  • 2014年06月23日 23:18
  • 506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:凭什么要这么大的权力?
举报原因:
原因补充:

(最多只允许输入30个字)