Alterar Esquema de Força e Usuários Comuns: Como configurar o Windows XP para permitir isso

Boa noite!

Como todos os meus leitores já devem saber, eu sou um daqueles que defende o princípio do menor privilégio (também conhecido como Least-Privilege, nos livros de segurança). Em especial, li recentemente no Writing Secure Code exatamente sobre isso. Fiquei feliz em saber que tudo aquilo que eu sempre comentei é um dos princípios que o autor recomenda.

Além disso, sou um usuário de um tipo raro. Não que isso me torne mais ou menos especial ou inteligente, mas apenas diferente. Eu utilizo meu computador sem ser com uma conta de administrador ou equivalente. Mesmo no meu notebook, que praticamente só eu uso, não utilizo uma conta administrativa. Uso computadores dessa forma há mais de 4 anos, quando entrei na faculdade, sem problemas. Uso a conta de admin somente quando necessário, para instalar algum programa ou biblioteca. Se essa política fosse seguida por usuários em geral, mais da metade dos problemas em seus computadores sequer teria acontecido. Já discuti sobre esta prática em outro post anterior, e recomendo a leitura deste outro site para quem não estiver acreditando em mim.

Recentemente concluí que havia instalado todos os softwares necessários no meu notebook, e resolvi alterar novamente minha conta para ficar com "menos poderes" novamente. O único problema encontrado até o momento foi o Gerenciamento de Energia.

Não sei quanto às versões anteriores, mas o Windows XP teima em não permitir que usuários comuns alterem o esquema atual de energia. Usuários de notebooks são os mais afetados com isso, uma vez que, num notebook, é interessante utilizar diversos esquemas de energia para diversas situações. Eu, por exemplo, tenho 12 esquemas de energia configurados, uma para cada situação. Isso permite utilizar de forma inteligente a bateria do notebook, visando aumentar a vida útil dela e o tempo de uso que ela rende habilitando e desabilitando dispositivos como CD-ROM, Placa de rede, Firewire, diminuindo a intensidade do vídeo, etc.

É até questionável porque ele foi programado desta forma. Eu mesmo acredito que, ao menos na versão cliente do SO (leia-se Windows XP), qualquer usuário deveria poder configurar e definir o esquema de energia que está sendo utilizado no momento. Em servidores isso não faz o menor sentido, além de não ser muito correto do ponto de vista da segurança. Mas em clientes, qual o problema? Enfim...

Hoje, após voltar de uma reunião da Semana da Computação (vou falar dela depois), fiz meu jantar e voltei a pesquisar sobre o assunto. Buscando no Google encontrei um site que eu já conhecia, mas que eu não tinha lido ainda. Ele novamente, o blog Non-Admin, de Aaron Margosis. Ele escreveu um artigo completíssimo sobre porque o XP não permite que os usuários configurem seus sistemas e como contornar isso.

Segundo ele, o problema está no fato da interface gráfica setar ao mesmo tempo a configuração dos esquemas de energia do usuário e do sistema (system-wide, ou seja, algum lugar abaixo de HLKM no registro), quando deveria configurar somente as configurações do usuário. Até daria certo se a configuração padrão da chave do registro em questão permitisse escrita para usuários comuns.

Para permitir então que qualquer usuário comum do XP configure o esquema de energia, faça o seguinte:

  1. Abra o Editor de Registro (também conhecido como Regedit) como administrador. Você pode fazer isso logando com a conta de admin ou com o comando RunAs.
  2. Navegue até a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ControlsFolder\PowerCfg
  3. Clique com o botão direito na subchave GlobalPowerPolicy e escolha Permissões
  4. Clique no botão Avançado
  5. Clique no botão Adicionar
  6. Digite INTERACTIVE (ou qualquer outro grupo que você queira permitir a configuração. Recomendo o grupo INTERACTIVE porque nele estão todos os usuários que podem logar localmente neste computador), clique em Checar Nomes e em OK
  7. Marque as opções Alterar Valor (Set Value) e Criar Subchave (Create Subkey) e clique em OK.
  8. Repita os passos acima para a subchave PowerPolicies

Ainda assim, recomendo que leia o artigo original. Se você acompanhar os comentários, vai ver que encontraram soluções para outros problemas antigos como o de permitir que usuários comuns cliquem duas vezes no relógio, ou mesmo como implementar essa alteração de permissões no registro utilizando o REGINI, scripts VBS, o programa REGPERM, distribuir por GPOs, etc. Vale um bookmark!

Vale lembrar que o Windows Vista não tem esse problema. Foram feitas várias alterações no controle de energia do SO. Entretanto, continuo não usando o Vista, mas agora por opção. =). Pretendo utilizar em breve Windows Server 2008 ou 2003 R2.

Até a próxima!

Categorias dessa postagem:

Comentários

Anônimo : Prezado Vinicius, estou com um problema na empresa onde eu trabalho, la usamos AD, nossa rede e de pequeno porte e todos sao usuarios restritos, exceto o financeiro, pois o programa que usa POSTGREES so funciona se a conta dela for de admninistrador. O que posso fazer pra mudar esse quadro?

Obrigado, Moises Jr.
vidainterativa@gmail.com [16/5/08 17:55 - link]

Vinicius Canto : Olá,

você tem certeza que o PostgreSQL funciona somente como admin? Cheguei a usar ele na faculdade e lembro de ter feito isso sem administrador local.

Quem precisa rodar como admin afinal? O serviço do PostgreSQL ou o software que usa ele?

[]s,

Vinicius [17/5/08 13:31 - link]

Anônimo : Caro Vinicius, boa tarde.

Parabéns pelo exceletente topico, estou encontrando dificuldades para criar uma rotina de script e coloca-la em GPO.
Você poderia me ajudar um mais mais nessa customização?

vagner.tomaz@diallink.com.br

Grato [24/4/09 17:08 - link]

Anônimo : Caro Vinícius,

Primeiramente gostaria de parabenizá-lo pelo POST e, também, pelo BLOG que já está no BOOKMARK.
Contudo, estou com o mesmo problem que o Vagner (do comentário acima), possuo um domínio com AD/Windows 2003 e gostaria de ajuda para implementar isso via GPO ou script. A solução do POST é ideal para máquinas pessoais ou poucos computadores em rede, que não é o meu caso! rs...
Mas, de qualqer forma se eu puder contar com a sua ajuda e conhecimento fico imensamente grato!

[]s,

André
andreoa@hotmail.com [17/6/09 10:07 - link]

Anônimo : Sem me contentar com o fato de ficar aguardando um auxílio de um anjo vindo dos céus, resovi aprofundar meus testes... E, consegui o que estava precisando!

Sendo assim, vou compartilhar minha solução passo à passo:
- configure um esquema de energia da forma que desejar.
- salve-o com o nome que desejar. (Esquema_de_energia_pessoal)
- Entre no regedit e exporte a chave: [HKEY_CURRENT_USER\Control Panel\PowerCfg]
- Salve com o nome desejado (POWERCFG.REG)
- Crie um .BAT com a seguinte linha para chamar o .REG:
REGEDIT /S \\Servidor\NETLOGON\powercfg.reg
- Copie os dois arquivos para a pasta NETLOGON do servidor (o .BAT e o .REG)
- Daí através de uma GPO de usuário chame um script de logon com o arquivo .BAT

Resumindo, exportei uma chave de registro da minha máquina e importei essa mesma chave automaticamente nas outras máquinas do domínio.

Espero ter ajudado...

André [17/6/09 13:30 - link]

Fabiano Rebelo : Para quem esta com dificuldade em um ambiente com dominio...
Vc pode criar uma GPO ou editar a diretiva padrão. Após isso vá em Configuração do computador - Configurações do Windows - Configurações de segurança - Registro. Clique em adicionar chave e escolha o caminho que vc quer alterar as permissões do registro. Apos isso é só definir as permissoes, já descritas nesse artigo. Pronto!

Fabiano [2/12/09 11:25 - link]