Constantes de privilégio (autorização)

Os privilégios determinam o tipo de operações do sistema que uma conta de usuário pode executar. Um administrador atribui privilégios a contas de usuário e grupo. Os privilégios de cada usuário incluem aqueles concedidos ao usuário e aos grupos aos quais o usuário pertence.

As funções que obtêm e ajustam os privilégios em um token de acesso usam o tipo LUID ( identificador local exclusivo ) para identificar privilégios. Use a função LookupPrivilegeValue para determinar o LUID no sistema local que corresponde a uma constante de privilégios. Use a função LookupPrivilegeName para converter um LUID em sua constante de cadeia de caracteres correspondente.

O sistema operacional representa um privilégio usando a cadeia de caracteres que segue "Direito do Usuário" na coluna Descrição da tabela a seguir. O sistema operacional exibe as cadeias de caracteres direitas do usuário na coluna Política do nó Atribuição de Direitos de Usuário do snap-in MMC (Console de Gerenciamento da Microsoft) do Configurações Segurança Local.

Exemplo

BOOL EnablePrivilege()
{
    LUID PrivilegeRequired ;
    BOOL bRes = FALSE;
  
    bRes = LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &PrivilegeRequired);

    // ...

    return bRes;
}

Exemplo de exemplos clássicos de Windows no GitHub.

Constantes

Constante/valor Descrição
SE_ASSIGNPRIMARYTOKEN_NAME
TEXT("SeAssignPrimaryTokenPrivilege")
Necessário para atribuir o token primário de um processo.
Direito do usuário: substitua um token no nível do processo.
SE_AUDIT_NAME
TEXT("SeAuditPrivilege")
Necessário para gerar entradas de log de auditoria. Dê esse privilégio a servidores seguros.
Direito do usuário: gerar auditorias de segurança.
SE_BACKUP_NAME
TEXT("SeBackupPrivilege")
Necessário para executar operações de backup. Esse privilégio faz com que o sistema conceda todo o controle de acesso de leitura a qualquer arquivo, independentemente da ACL ( lista de controle de acesso ) especificada para o arquivo. Qualquer solicitação de acesso diferente de leitura ainda é avaliada com a ACL. Esse privilégio é exigido pelos RegSaveKey e RegSaveKeyExfunctions. Os seguintes direitos de acesso serão concedidos se esse privilégio for mantido:
  • READ_CONTROL
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_READ
  • FILE_TRAVERSE
Direito do usuário: fazer backup de arquivos e diretórios.
Se o arquivo estiver localizado em uma unidade removível e o "Audit Removable Armazenamento" estiver habilitado, o SE_SECURITY_NAME deverá ter ACCESS_SYSTEM_SECURITY.
SE_CHANGE_NOTIFY_NAME
TEXT("SeChangeNotifyPrivilege")
Necessário para receber notificações de alterações em arquivos ou diretórios. Esse privilégio também faz com que o sistema ignore todas as verificações de acesso de passagem. Ele está habilitado por padrão para todos os usuários.
Direito do usuário: ignorar verificação de passagem.
SE_CREATE_GLOBAL_NAME
TEXT("SeCreateGlobalPrivilege")
Necessário para criar objetos de mapeamento de arquivo nomeados no namespace global durante as sessões do Terminal Services. Esse privilégio é habilitado por padrão para administradores, serviços e a conta do sistema local.
Direito do Usuário: Criar objetos globais.
SE_CREATE_PAGEFILE_NAME
TEXT("SeCreatePagefilePrivilege")
Necessário para criar um arquivo de paginação.
Direito do Usuário: criar um arquivo de página.
SE_CREATE_PERMANENT_NAME
TEXT("SeCreatePermanentPrivilege")
Necessário para criar um objeto permanente.
Direito do Usuário: criar objetos compartilhados permanentes.
SE_CREATE_SYMBOLIC_LINK_NAME
TEXT("SeCreateSymbolicLinkPrivilege")
Necessário para criar um link simbólico.
Direito do Usuário: criar links simbólicos.
SE_CREATE_TOKEN_NAME
TEXT("SeCreateTokenPrivilege")
Necessário para criar um token primário.
Direito do Usuário: Criar um objeto de token.
Você não pode adicionar esse privilégio a uma conta de usuário com a política "Criar um objeto de token". Além disso, você não pode adicionar esse privilégio a um processo de propriedade usando APIs de Windows. Windows Server 2003 e Windows XP com SP1 e anteriores: Windows APIs podem adicionar esse privilégio a um processo de propriedade.

SE_DEBUG_NAME
TEXT("SeDebugPrivilege")
Necessário para depurar e ajustar a memória de um processo de propriedade de outra conta.
Direito do Usuário: Depurar programas.
SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME
TEXT("SeDelegateSessionUserImpersonatePrivilege")
Necessário para obter um token de representação para outro usuário na mesma sessão.
Direito do Usuário: representar outros usuários.
SE_ENABLE_DELEGATION_NAME
TEXT("SeEnableDelegationPrivilege")
Necessário para marcar contas de usuário e computador como confiáveis para delegação.
Direito do usuário: permitir que contas de computador e usuário sejam confiáveis para delegação.
SE_IMPERSONATE_NAME
TEXT("SeImpersonatePrivilege")
Necessário para representar.
Direito do Usuário: representar um cliente após a autenticação.
SE_INC_BASE_PRIORITY_NAME
TEXT("SeIncreaseBasePriorityPrivilege")
Necessário para aumentar a prioridade base de um processo.
Direito do usuário: aumentar a prioridade de agendamento.
SE_INCREASE_QUOTA_NAME
TEXT("SeIncreaseQuotaPrivilege")
Necessário para aumentar a cota atribuída a um processo.
Direito do Usuário: ajustar cotas de memória para um processo.
SE_INC_WORKING_SET_NAME
TEXT("SeIncreaseWorkingSetPrivilege")
Necessário para alocar mais memória para aplicativos que são executados no contexto dos usuários.
Direito do usuário: aumentar um conjunto de trabalho do processo.
SE_LOAD_DRIVER_NAME
TEXT("SeLoadDriverPrivilege")
Necessário para carregar ou descarregar um driver de dispositivo.
Direito do usuário: carregar e descarregar drivers de dispositivo.
SE_LOCK_MEMORY_NAME
TEXT("SeLockMemoryPrivilege")
Necessário para bloquear páginas físicas na memória.
Direito do usuário: bloquear páginas na memória.
SE_MACHINE_ACCOUNT_NAME
TEXT("SeMachineAccountPrivilege")
Necessário para criar uma conta de computador.
Direito do Usuário: Adicionar estações de trabalho ao domínio.
SE_MANAGE_VOLUME_NAME
TEXT("SeManageVolumePrivilege")
Necessário para habilitar privilégios de gerenciamento de volume.
Direito do usuário: gerenciar os arquivos em um volume.
SE_PROF_SINGLE_PROCESS_NAME
TEXT("SeProfileSingleProcessPrivilege")
Necessário para coletar informações de criação de perfil para um único processo.
Direito do Usuário: Criar perfil de processo único.
SE_RELABEL_NAME
TEXT("SeRelabelPrivilege")
Necessário para modificar o nível de integridade obrigatório de um objeto.
Direito do Usuário: modificar um rótulo de objeto.
SE_REMOTE_SHUTDOWN_NAME
TEXT("SeRemoteShutdownPrivilege")
Necessário para desligar um sistema usando uma solicitação de rede.
Direito do usuário: forçar o desligamento de um sistema remoto.
SE_RESTORE_NAME
TEXT("SeRestorePrivilege")
Necessário para executar operações de restauração. Esse privilégio faz com que o sistema conceda todo o controle de acesso de gravação a qualquer arquivo, independentemente da ACL especificada para o arquivo. Qualquer solicitação de acesso diferente de gravação ainda é avaliada com a ACL. Além disso, esse privilégio permite que você defina qualquer SID de usuário ou grupo válido como o proprietário de um arquivo. Esse privilégio é exigido pela função RegLoadKey . Os seguintes direitos de acesso serão concedidos se esse privilégio for mantido:
  • WRITE_DAC
  • WRITE_OWNER
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_WRITE
  • FILE_ADD_FILE
  • FILE_ADD_SUBDIRECTORY
  • Delete (excluir)
Direito do usuário: restaurar arquivos e diretórios.
Se o arquivo estiver localizado em uma unidade removível e o "Audit Removable Armazenamento" estiver habilitado, o SE_SECURITY_NAME deverá ter ACCESS_SYSTEM_SECURITY.
SE_SECURITY_NAME
TEXT("SeSecurityPrivilege")
Necessário para executar várias funções relacionadas à segurança, como controlar e exibir mensagens de auditoria. Esse privilégio identifica seu titular como um operador de segurança.
Direito do usuário: gerenciar a auditoria e o log de segurança.
SE_SHUTDOWN_NAME
TEXT("SeShutdownPrivilege")
Necessário para desligar um sistema local.
Direito do usuário: desligar o sistema.
SE_SYNC_AGENT_NAME
TEXT("SeSyncAgentPrivilege")
Necessário para que um controlador de domínio use os serviços de sincronização de diretório do Lightweight Directory Access Protocol . Esse privilégio permite que o titular leia todos os objetos e propriedades no diretório, independentemente da proteção nos objetos e propriedades. Por padrão, ele é atribuído às contas Administrador e LocalSystem em controladores de domínio.
Direito do usuário: sincronizar dados do serviço de diretório.
SE_SYSTEM_ENVIRONMENT_NAME
TEXT("SeSystemEnvironmentPrivilege")
Necessário para modificar a RAM nãovolatile de sistemas que usam esse tipo de memória para armazenar informações de configuração.
Direito do Usuário: modificar valores de ambiente de firmware.
SE_SYSTEM_PROFILE_NAME
TEXT("SeSystemProfilePrivilege")
Necessário para coletar informações de criação de perfil para todo o sistema.
Direito do Usuário: Desempenho do sistema de perfil.
SE_SYSTEMTIME_NAME
TEXT("SeSystemtimePrivilege")
Necessário para modificar a hora do sistema.
Direito do usuário: alterar a hora do sistema.
SE_TAKE_OWNERSHIP_NAME
TEXT("SeTakeOwnershipPrivilege")
Necessário para assumir a propriedade de um objeto sem ter acesso discricionário concedido. Esse privilégio permite que o valor do proprietário seja definido apenas para os valores que o titular pode atribuir legitimamente como o proprietário de um objeto.
Direito do Usuário: assumir a propriedade de arquivos ou outros objetos.
SE_TCB_NAME
TEXT("SeTcbPrivilege")
Esse privilégio identifica seu titular como parte da base de computador confiável. Alguns subsistemas protegidos confiáveis recebem esse privilégio.
Direito do Usuário: atuar como parte do sistema operacional.
SE_TIME_ZONE_NAME
TEXT("SeTimeZonePrivilege")
Necessário para ajustar o fuso horário associado ao relógio interno do computador.
Direito do usuário: alterar o fuso horário.
SE_TRUSTED_CREDMAN_ACCESS_NAME
TEXT("SeTrustedCredManAccessPrivilege")
Necessário para acessar o Gerenciador de Credenciais como um chamador confiável.
Direito do Usuário: Acessar o Gerenciador de Credenciais como um chamador confiável.
SE_UNDOCK_NAME
TEXT("SeUndockPrivilege")
Necessário para desencaixar um laptop.
Direito do usuário: remover o computador da estação de encaixe.
SE_UNSOLICITED_INPUT_NAME
TEXT("SeUnsolicitedInputPrivilege")
Necessário para ler entradas não solicitadas de um dispositivo de terminal .
Direito do Usuário: não aplicável.

Comentários

As constantes de privilégio são definidas como cadeias de caracteres no Winnt.h. Por exemplo, a constante SE_AUDIT_NAME é definida como "SeAuditPrivilege".

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Winnt.h

Confira também

Privilégios