Direitos de Segurança e Acesso da Estação de Janela
A segurança permite controlar o acesso a objetos de estação de janela. Para obter mais informações sobre segurança, consulte Modelo de controle de acesso.
Você pode especificar um descritor de segurança para um objeto de estação de janela ao chamar a função CreateWindowStation . Se você especificar NULL, a estação de janela receberá um descritor de segurança padrão. As ACLs no descritor de segurança padrão para uma estação de janela vêm do token primário ou de representação do criador.
Para obter ou definir o descritor de segurança de um objeto de estação de janela, chame as funções GetSecurityInfo e SetSecurityInfo .
Quando você chama a função OpenWindowStation , o sistema verifica os direitos de acesso solicitados no descritor de segurança do objeto.
Os direitos de acesso válidos para objetos de estação de janela incluem os direitos de acesso padrão e alguns direitos de acesso específicos ao objeto. A tabela a seguir lista os direitos de acesso padrão usados por todos os objetos.
Valor | Significado |
---|---|
DELETE (0x00010000L) | Necessário para excluir o objeto. |
READ_CONTROL (0x00020000L) | Necessário para ler informações no descritor de segurança do objeto, não incluindo as informações no SACL. Para ler ou gravar o SACL, você deve solicitar o direito de acesso ACCESS_SYSTEM_SECURITY. Para obter mais informações, consulte Direito de Acesso do SACL. |
SYNCHRONIZE (0x00100000L) | Não há suporte para objetos de estação de janela. |
WRITE_DAC (0x00040000L) | Necessário para modificar a DACL no descritor de segurança para o objeto . |
WRITE_OWNER (0x00080000L) | Necessário para alterar o proprietário no descritor de segurança para o objeto . |
A tabela a seguir lista os direitos de acesso específicos ao objeto.
Direito de acesso | Descrição |
---|---|
WINSTA_ALL_ACCESS (0x37F) | Todos os direitos de acesso possíveis para a estação de janela. |
WINSTA_ACCESSCLIPBOARD (0x0004L) | Necessário para usar a área de transferência. |
WINSTA_ACCESSGLOBALATOMS (0x0020L) | Necessário para manipular átomos globais. |
WINSTA_CREATEDESKTOP (0x0008L) | Necessário para criar novos objetos de área de trabalho na estação de janela. |
WINSTA_ENUMDESKTOPS (0x0001L) | Necessário para enumerar objetos da área de trabalho existentes. |
WINSTA_ENUMERATE (0x0100L) | Necessário para que a estação de janela seja enumerada. |
WINSTA_EXITWINDOWS (0x0040L) | Necessário para chamar com êxito a função ExitWindows ou ExitWindowsEx . As estações de janela podem ser compartilhadas por usuários e esse tipo de acesso pode impedir que outros usuários de uma estação de janelas entrem no proprietário da estação de janela. |
WINSTA_READATTRIBUTES (0x0002L) | Necessário para ler os atributos de um objeto de estação de janela. Esse atributo inclui configurações de cor e outras propriedades globais da estação de janela. |
WINSTA_READSCREEN (0x0200L) | Necessário para acessar o conteúdo da tela. |
WINSTA_WRITEATTRIBUTES (0x0010L) | Necessário para modificar os atributos de um objeto de estação de janela. Os atributos incluem configurações de cor e outras propriedades globais da estação de janela. |
Veja a seguir os direitos de acesso genéricos para o objeto interativo window station, que é a estação de janela atribuída à sessão de logon do usuário interativo.
Direito de acesso | Descrição |
---|---|
GENERIC_READ |
WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_READATTRIBUTES WINSTA_READSCREEN |
GENERIC_WRITE |
WINSTA_ACCESSCLIPBOARD WINSTA_CREATEDESKTOP WINSTA_WRITEATTRIBUTES |
GENERIC_EXECUTE |
WINSTA_ACCESSGLOBALATOMS WINSTA_EXITWINDOWS |
GENERIC_ALL |
WINSTA_ACCESSCLIPBOARD WINSTA_ACCESSGLOBALATOMS WINSTA_CREATEDESKTOP WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_EXITWINDOWS WINSTA_READATTRIBUTES WINSTA_READSCREEN WINSTA_WRITEATTRIBUTES |
Veja a seguir os direitos de acesso genéricos para um objeto de estação de janela não interativa. O sistema atribui estações de janela não interativas a todas as sessões de logon diferentes das do usuário interativo.
Direito de acesso | Descrição |
---|---|
GENERIC_READ |
WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_READATTRIBUTES |
GENERIC_WRITE |
WINSTA_ACCESSCLIPBOARD WINSTA_CREATEDESKTOP |
GENERIC_EXECUTE |
WINSTA_ACCESSGLOBALATOMS WINSTA_EXITWINDOWS |
GENERIC_ALL |
WINSTA_ACCESSCLIPBOARD WINSTA_ACCESSGLOBALATOMS WINSTA_CREATEDESKTOP WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_EXITWINDOWS WINSTA_READATTRIBUTES |
Você pode solicitar o acesso ACCESS_SYSTEM_SECURITY direito a um objeto de estação de janela se quiser ler ou gravar o SACL do objeto. Para obter mais informações, consulte ACLs (Listas de Controle de Acesso) e Direito de Acesso à SACL.