Sessões, estações de janelas e ecrãs

Sessões, estações de janelas e ecrãs.

uma sessão consiste em todos os processos e outros objectos do sistema que representam um sessão de logon de um único utilizador. Sessao conter estações e Janelas As estações contêm ecrãs.

o acima é de http://blogs.technet.com/b/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx

(artigos semelhantes dizem a mesma coisa, e.g. blogs.technet.com/b/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx e blogs.msdn.com/b/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx)

Sempre entendi que sessões e sessões de logon são a mesma coisa.

No entanto, lendo P. 474, Russinovich e Solomon, Windows Internals, 5ª edição, diz (penúltimo parágrafo):

a função CreateProcess Withlogon também cria um token, criando um novo sessão de logon com um processo inicial, que é como o comando Runas lança processos em alternativa credito.

Então as Runas criam uma nova sessão de logon. Se usarmos Runas para executar o bloco de notas sob as credenciais de um usuário diferente, vemos que ele aparece no desktop. Então o bloco de Notas está rodando no mesmo desktop que tudo o resto. (Isto é, tanto quanto eu entendo, o desktop padrão na estação de janela Winsta0; a estação de janela interativa. Então o que temos agora são dois. sessões de logon associadas com a mesma sessão (a coisa que contém estações de janela). Então sessões e sessões de logon não parecem ser a mesma coisa.

Alguém pode confirmar isto, por favor?

confuso

 13
Author: Confused, 2011-01-14

1 answers

Há dois tipos de sessões aqui. Aqui está o meu entendimento de como eles funcionam.
  1. Um sessão de início de sessão[2] é gerida por Autoridade de Segurança Local[2], e gerencia o escopo de um utilizador de início de sessão. Estes são criados principalmente por winlogon processo, mas também, secundariamente, pelas funções de API, tais como LogonUser, CreateProcessAsUser, e CreateProcessWithLogonW, ou por aplicações que utilizam estas funções, tais comorunas comando.

    Uma sessão de início de sessão não está vinculado a qualquer específicos Gestor de objectos[2] conceitos como estações de janela e desktops. É basicamente apenas um bloco de informações contendo o logon SID e algumas informações de segurança em cache sobre a conta. Este bloco de Informações, esta sessão de logon, é o que um token de acesso pontos para.

  2. O outro tipo de sessão é por vezes chamado de sessão de Serviços de Terminal, sessão de servidor de Terminal, sessão de ecrã remoto, sessão de logon (tão confusa quanto isso), sessão de logon de utilizador ou sessão de utilizador. Normalmente, no entanto, é apenas chamado de "sessão", sem mais qualificação.

    Este é o tipo de sessão que você geralmente ouve falar, e é o que estações de janela pertencem. Este tipo de sessão veio para suportar vários logons de interface interactivos, tal como fornecidos pelos serviços terminais (agora conhecidos como remoto Desktop), e agora também é usado para suportar mudança rápida de utilizador. As sessões fornecem o isolamento necessário entre os objetos do Gerenciador de objetos associados a cada logon do Usuário.

Não passo muito tempo a mexer nestas coisas, por isso estou um pouco confuso com alguns detalhes, mas acho que esta é uma representação bastante justa do quadro geral. Espero que passe as coisas estão a melhorar.
 18
Author: P Daddy, 2011-01-15 21:18:37