转自 http://forum.livetome.cn/redirect.php?tid=7824&goto=lastpost
WIN7 适用
序
用上Vista,总对Users这个文件夹很好奇,为什么要改名字的,而对于Vista的用户配置文件的改变,中文的研究的文章非常少,在baidu或者google基本搜索不到有中文的文章讨论这个, 写这个的可能相近的可能是<<Vista系统盘揭密之“Users”文件夹>>这个文章,但也说得不多,对怎样揭密,说了一些,这更引起了我的好奇心,带给了我研究的兴趣,而Junction point的引入,也与这个文件夹有关,经过几天晚上空闲时间的研究,上英文网站和论坛看资料,大概看明白了这个文件夹为什么要这样改变,在这里分享下心得,也作一个参考,假如有某个地方写得不对,请大家指正.
什么是用户配置文件?
一个user的profile(用户配置文件)就是在用户登录时定义系统加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置。
当你第一次登录到一台基于Microsoft操作系统的计算机上时,系统就会为你创建一个专用的配置文件.在Vista之前,Windows将user profiles放在了根文件夹Documents and Settings中,而Vista作出了改变,你可以发现,,Vista把它们放在了一个新名字的文件夹Users中.
Users是什么新文件夹,为什么要做改变?
在Vista之前的版本,user profiles包含着复杂的机构,经常包含着子文件夹,有的子文件夹有2层或3层的深度.新文件路径的设置的改变,你会发现,很多文件夹移动到了更为简明的路径,直觉上一看文件夹的名字,你大概就知道这个文件夹是装什么内容了,对比于XP来个Application Data或者Local Settings\Application Data,这样的名字更加直观.
Vista改变了Application Data的架构,之前的user profile,不能很有效地逻辑筛选存储在Application Data中的数据,导致了有时很难去区别:究竟这个数据,是属于机器的呢?还是只属于用户的.Vista做了个创新,尝试只建立一个AppData,放在了根目录下
AppData包含三个文件夹, Roaming, Local 和LocalLow.根据微软的资料, XP中Documents and Settings\username\Local Settings\Application Data这里的文件,都转移到了Vista AppData下的Roaming和Local中去,而Local和LocalLow存储的是不能用于Roaming(中文叫漫游, 关于profile漫游和重定向有啥用,以后开一个帖子写)的Application Data,简单地说,通常来说,这些data就是一些机器的(非此用户特有)或者文件太大了,不能带着漫游的文件.
Vista这些改变,使用户数据的组织更安全,更符合逻辑,是机器的文件,还是此用户特有的文件,分得更清楚.另一方面,路径的名字比以前短了,这样用起来就更加方便,这是确实的.当然,还有人说,例如google出在美国某技术论坛,有人回帖探讨这个原因是,说这样做也是为了改短路径长度, 因为单一文件名最长路径只能是255字节,所以在XP下,在某帐户的桌面起个文件夹,装VS2005指定这样的文件路径,就装不了.
Junction Points(交接点)的引入
但是,对于新软件或者新程序是这样,那对于旧的软件呢,他们要读写原来XP相应文件文件夹的位置,而这些Vista文件夹都改名或者移动路径了,怎么办呢? 这就引入了Junction Points的概念, Junction Points简称JP,中文翻译得很乱,去百度搜索一下, 就有好几个翻译, 翻译成结合点,符好连接,分叉点的都有,后来看了一篇文章,才知道Microsoft翻译为交接点,以下跟Microsoft的官方译法,翻译成交接点
为什么要引入Junction Points(交接点)
一个连接点是受保护的操作系统文件夹指向另一个文件夹。交接点是应用程序兼容性的重要组成部分,并且不包含任何数据或其他文件。它本质上来说,就是一个快截方式,所以会有一个快截方式的图标显示在Vista的交接点文件夹中。
在大多数情况下,我们可以忽略这样的交接点,交接点的存在是为了考虑在前代操作系统(例如XP)在Vista下运行的兼容性.因为某些应用软件程序可能会在安装过程中查找旧的架构,查找以前一代系统命令的文件夹。(题外话:不要说某些软件这么笨不兼容,就连XP系统有时候也这么笨,公司同一将Document and Settings文件转移动到了D盘,几乎所有软件都会用相对路径对D盘这个文件夹写入数据,但还是有某著名打印机软件,安装过程发现C盘不见了这个文件,就不会去找了,自动起了一个同一文件夹写入)
所以假如也是这样的情况,在Vista下,这些试图在安装过程中查找旧文件夹的软件,Vista帮助用交接点帮助他们转到新的文件夹用户数据之前存储在%SystemDrive%\Documents and Settings目录的文件,现在存储在了%SystemDrive%\Users 目录下, 为了将用户应用程序的兼容性问题降到最少,Micosoft引入了交接点。这些交接点对旧的遗留的文件夹读写,会自动转到正确的新文件位置,而过
程中不会改变应用程序本身(此一段翻译自英文MSDN 网站)
你可能已经注意到点这样的快截方式图标,会得到拒绝访问的信息,这是正常现象,因为Vista在默认下,对everyone的权限都设定为拒绝,平时要进入程序,不用从这里进入,也没需要这样进入。
问题:
我是系统管理员,为什么也不能进入?
权限规则是这样的
1.权限是累积的。如果组A用户对一个文件拥有“写入“权限,组B用户对该文件只有“读取”权限,而用户C同属两个组,则C将获得“写入”权限。
2.“拒绝访问”权限优先级高于其他所有权限。如果组A的权限是“写入”,而组B是"拒绝访问”,那么同属两个组的用户C也不能读写文件。
everyone权限默认是拒绝的
所以,假如你属于administrator组,同时也是everyone组,只要everyone组权限默认设置了拒绝,无论admintrator组权限怎么设定,也一样总结果是拒绝访问.
我开了超级系统管理员帐号,为什么也不能进入?
解答同理
Vista与XP用户配置文件对照表
Vista新路径
|
XP旧路径
|
...\AppData\Roaming
|
...\Application Data
|
N/A
|
...\Local Settings
|
...\AppData\Local
|
...\Local Settings\Application Data
|
...\AppData\Local\Microsoft\Windows\History
|
...\Local Settings\History
|
...\AppData\Local\Temp
|
...\Local Settings\Temp
|
...\AppData\Local\Microsoft\Windows\Temporary Internet Files
|
...\Local Settings\Temporary Internet Files
|
...\AppData\Roaming\Microsoft\Windows\Cookies
|
...\Cookies
|
...\AppData\Roaming\Microsoft\Windows\Network Shortcuts
|
...\Nethood
|
...\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
|
...\PrintHood
|
...\AppData\Roaming\Microsoft\Windows\Recent
|
...\Recent
|
...\AppData\Roaming\Microsoft\Windows\Send To
|
...\SendTo
|
...\AppData\Roaming\Microsoft\Windows\Start Menu
|
...\Start Menu
|
...\AppData\Roaming\Microsoft\Windows\Templates
|
...\Templates
|
...\Contacts
|
Not applicable
|
...\Desktop
|
...\Desktop
|
...\Documents
|
...\My Documents
|
...\Downloads
|
Not applicable
|
...\Favorites
|
...\Favorites
|
...\Music
|
...\My Music
|
...\Videos
|
...\My Videos
|
...\Pictures
|
...\My Pictures
|
...\Searches
|
Not applicable
|
...\Links
|
Not applicable
|
...\Saved Games
|
Not applicable
|