会话,窗口站和桌面.
会话由表示单个用户的登录会话的所有进程和其他系统对象组成.会话包含窗口站,窗口站包含桌面.
以上内容来自http://blogs.technet.com/b/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx
(类似的文章说同样的话,例如blogs.technet.com/b/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx和blogs.msdn.com/b/ntdebugging/archive /2007/01/04/desktop-heap-overview.aspx)
我一直都认为会话和登录会议是同一回事.
但是,阅读p.474,Russinovich和Solomon,Windows Internals,第5版,它说(倒数第二段):
CreateProcessWithLogon函数还通过使用初始进程创建新的登录会话来创建令牌,这是Runas命令在备用令牌下启动进程的方式.
因此Runas创建了一个新的登录会话.如果我们使用Runas在不同用户的凭据下运行记事本,我们会看到它出现在桌面上.因此,Notepad与其他所有内容在同一台桌面上运行.(据我所知,这是Window Station Winsta0中的默认桌面;交互式窗口站.)所以我们现在拥有的是与同一个Session(包含窗口站的东西)相关联的两个登录会话.因此,会话和登录会话看起来不会是同一个.
有人可以确认一下吗?
困惑
P D*_*ddy 23
这里确实有两种类型的会话.以下是我对它们如何工作的理解.
一个登录会话[ 2 ]是由管理本地安全机构[ 2 ],并管理用户登录的范围.这些是由主要创建Winlogon中的过程,但也其次由API功能,例如LogonUser,CreateProcessAsUser,和CreateProcessWithLogonW,或通过使用这些功能,例如应用程序runas命令.
登录会话不依赖于任何特定的对象管理器[ 2 ]概念作为窗口站和桌面.它基本上只是一个包含登录SID的信息块和一些有关该帐户的缓存安全信息.此登录会话的此信息块是访问令牌指向的内容.
另一种类型的会话有时称为终端服务会话,终端服务器会话,远程桌面会话,登录会话(如此混淆),用户登录会话或用户会话.通常情况下,它只是被称为"会话",没有进一步的限定.
这是您通常会听到的会话类型,也是窗口站所属的会话类型.这种类型的会话即将支持多个交互式GUI登录,由终端服务(现称为远程桌面)提供,现在也用于支持快速用户切换.会话在与每个用户登录关联的对象管理器对象之间提供必要的隔离.
我没有花太多时间搞乱所有这些东西,所以我对一些细节有点模糊,但我认为这是一个非常公平的整体情况.我希望它可以解决一些问题.
| 归档时间: |
|
| 查看次数: |
8803 次 |
| 最近记录: |