O Windows® 7 oferece um mecanismo simples para a execução de contas de utilizador com privilégios de utilizador padrão, evitando ao mesmo tempo a necessidade de privilégios de administrador quando são efectuadas tarefas comuns, como a instalação de um controlador de impressora ou a ligação a uma rede sem fios. Esta mudança fundamental ajuda a proporcionar segurança ao nível do sistema operativo, impedindo que software malicioso (também denominado software maligno) e kits de raiz danifiquem o ficheiros e definições globais da empresa.

O Controlo de Conta de Utilizador (UAC, User Account Control) baseia-se na teoria de segurança do menor privilégio, o conceito de que os utilizadores devem ter o mínimo de privilégios absolutos para executar as tarefas atribuídas. As alterações no Subsistema para Aplicações baseadas em UNIX que são compatíveis com UAC incluem a utilização de LUA (Least-privilege User Account).

Controlo de Conta de Utilizador

O Controlo de Conta de Utilizador é uma funcionalidade de segurança do Windows 7 que foi introduzida no Windows Vista.

O objectivo principal do Controlo de Conta de Utilizador é reduzir a exposição e superfície de ataque do sistema operativo Windows 7 exigindo que todos os utilizadores funcionem com o modo de utilizador padrão e limitando o acesso ao nível do administrador a processos autorizados. Esta limitação minimiza a capacidade de os utilizadores fazerem alterações que possam desestabilizar os computadores ou expor inadvertidamente a rede a vírus, através de software malicioso não detectado que tenha infectado o computador.

Por predefinição, o Windows 7 executa todas as aplicações como um utilizador padrão, mesmo se o utilizador actual tiver sessão iniciada como membro do grupo Administradores. Por outro lado, quando os utilizadores tentam iniciar uma aplicação que tenha sido marcada como requerendo permissões de administrador, o Windows 7 pede uma confirmação dessa acção. Apenas as aplicações executadas com privilégios de administrador é que podem modificar definições do sistema e globais e respectivo comportamento.

Para mais informações sobre o Controlo de Conta de Utilizador, consulte o tópico "Understanding and Configuring User Account Control in Windows Vista" do Web site da Microsoft (https://go.microsoft.com/fwlink/?LinkId=70242 (pode estar em inglês)).

O Controlo de Conta de Utilizador e menor privilégio no Subsistema para Aplicações baseadas em UNIX

Quando um utilizador do Subsistema para Aplicações baseadas em UNIX membro do grupo Administradores inicia uma aplicação, shell ou outra tarefa, as aplicações são executadas no contexto de segurança do utilizador padrão.

O exemplo que se segue demonstra como é que o Controlo de Conta de Utilizador pode impedir os utilizadores membros do grupo Administradores de efectuarem tarefas administrativas se não tiverem privilégios elevados.

O Utilizador A é um membro do grupo Administradores e pretende criar um novo directório denominado test no directório / (raiz). A criação de directórios no directório raiz apenas é permitida aos membros do grupo Administradores. No entanto, apesar do Utilizador A ser membro do grupo Administradores, ele não pode criar o novo directório devido às restrições LUA O Utilizador A abre uma shell Korn com privilégios elevados e pode criar o directório test na raiz.

Para executar uma aplicação ou efectuar tarefas com privilégios elevados, veja os procedimentos seguintes.

Como executar uma aplicação como administrador

Com o Subsistema para Aplicações baseadas em UNIX e o pacote de ferramentas e utilitários transferidos instalados, existem duas maneiras de executar uma aplicação como administrador.

Utilizar a interface do Windows

Utilizar uma linha de comandos baseada em UNIX

Utilizar a interface do Windows

Para executar uma aplicação na interface de utilizador do Windows que requer privilégios administrativos, efectue os passos seguintes:

Para executar uma aplicação como administrador na interface do Windows
  1. Clique com o botão direito do rato no ficheiro executável da aplicação.

  2. No menu de atalho, clique em Executar como administrador.

Utilizar uma linha de comandos baseada em UNIX

Para executar uma aplicação no ambiente de shell Korn baseado em UNIX que requer privilégios administrativos, efectue os passos seguintes.

Para executar uma aplicação como administrador num shell Korn
  1. Clique em Iniciar, clique em Todos os programas, clique em Subsistema para Aplicações baseadas em UNIX e, em seguida, aponte para shell Korn.

  2. Clique com o botão direito do rato em shell Korn e, em seguida, clique em Executar como administrador.

  3. Quando lhe for perguntado se o shell deve ser executado como administrador, clique em Sim.

  4. Execute o programa que requer privilégios de Administrador.

  5. Quando tiver terminado de executar a aplicação que requer privilégios elevados, feche a sessão de shell.

    Para efectuar outras tarefas no ambiente de shell baseado em UNIX que não requerem privilégios de Administrador, abra uma nova sessão de shell sem utilizar o comando Executar como administrador.

Chave de registo EnableSuToRoot

O Controlo de Conta de Utilizador está activo por predefinição. Quando o Controlo de Conta de Utilizador está activo, qualquer aplicação ou tarefa que tenta fazer-se passar por outro utilizador que é membro do grupo Administradores (utilizando os utilitários su, cron ou login, setuid, qualquer uma das famílias de chamadas setuid ou exec_asuser, como exemplos) é sempre executado no contexto de segurança de uma conta de utilizador padrão.

Nota

Quando uma aplicação se faz passar por um utilizador padrão, terá o contexto de segurança completo de um utilizador padrão. Para mais informações sobre utilizadores padrão, consulte a secção Introduction do tópico "Developer Best Practices and Guidelines for Applications in a Least Privileged Environment", do Web site da Microsoft (https://go.microsoft.com/fwlink/?LinkId=70243 (pode estar em inglês)).

Com predefinições, uma aplicação não pode fazer-se passar pelo utilizador raiz. Pode controlar este comportamento modificando a chave de registo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA\EnableSuToRoot.

Como modificar a chave de registo EnableSuToRoot

Importante

Por predefinição, a conta de Administrador está desactivada no Windows 7 e no Windows Server 2008 R2 para ajudar a proteger os computadores e os dados de acessos não autorizados ou utilizadores mal intencionados, e tem de estar activada para que os utilizadores tentem fazer-se passar por utilizadores raiz ou Administradores. Uma vez que a conta de Administrador tem de ser activada para alterar a definição da chave de registo EnableSuToRoot, é descrito a seguir o procedimento para concluir esta tarefa. Tem de ser membro do grupo Administradores no computador local para concluir o seguinte procedimento.

Para activar a conta de Administrador
  1. Clique em Iniciar, clique com o botão direito do rato em Computador e clique em Gerir.

  2. No painel de hierarquia do snap-in Gestão de Computadores, abra Utilizadores e Grupos Locais.

  3. Seleccione Utilizadores.

  4. No painel de resultados, clique com o botão direito do rato em Administrador e clique em Propriedades.

  5. Desmarque a caixa de verificação relativa à opção A conta está desactivada.

  6. Clique em OK.

  7. Feche a janela Propriedades e, em seguida, feche o snap-in Gestão de Computadores.

Efectue os passos seguintes para alterar a definição da chave de registo EnableSuToRoot depois de instalar o Subsistema para Aplicações baseadas em UNIX.

Para alterar a definição da chave de registo EnableSuToRoot
  1. Clique em Iniciar, clique na caixa de texto Iniciar Pesquisa e escreva regedit para abrir o Editor de registo.

  2. No painel de hierarquia, abra HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA.

  3. No painel de resultados, faça duplo clique em EnableSuToRoot.

  4. Na caixa Dados do valor:, introduza 0 para impedir a representação do utilizador raiz ou 1 para a permitir.

    A predefinição é 0.

  5. Clique em OK.

  6. Feche o Editor de registo e, se lhe for perguntado, guarde as alterações.

Quando o valor desta chave é definido como 0 (a predefinição), não é permitida a representação do utilizador raiz. Quando o valor é definido como 1, é permitida a representação do utilizador raiz. Quando uma aplicação se faz passar pelo utilizador raiz ou por uma conta de Administrador, a aplicação tem o contexto de segurança administrativo do utilizador raiz (Administrador).

Setuid e o Privilégio Administrativo

Se os utilizadores que são membros do grupo Administradores tentarem marcar aplicações com o atributo setuid, apenas serão bem sucedidos se lhes for permitido executar aplicações e efectuar tarefas num contexto de segurança administrativo.

Segue-se um exemplo de como marcar o ficheiro binário /bin/regpwd, que está normalmente marcado com o atributo setuid:

  1. Abra um shell Korn (ksh) com privilégios elevados conforme descrito neste tópico.

  2. Escreva chmod +s /bin/regpwd e, em seguida, prima ENTER.

  3. Escreva exit para fechar a sessão ksh.

Consulte Também