Você está na página 1de 16

egurana

4 de 4 pessoas classificaram isso como til - Avalie este tpico


Desenvolvimento de software no Visual Studio .NET sem privilgios administrativos Lars Bergstrom Equipe principal do Visual Studio Microsoft Corporation Dezembro de 2003 Resumo: Os membros do grupo Administradores locais tm privilgios para executar qualquer ao em um computador. Isto se apresenta como um risco, tanto para o usurio que estiver executando as aes naquele ambiente como para o software que ele estiver desenvolvendo. Este artigo explica como desenvolver software de maneira produtiva estando logado sem privilgios administrativos.

Aplica-se a:
Microsoft Windows XP e a famlia Microsoft Windows Server 2003 Unidades de disco com sistema de arquivos NTFS Microsoft Visual Studio .NET

Introduo
Segurana importante. Ningum tem dvidas quanto a isso e todos passam um bom tempo pensando sobre problemas de segurana, bugs de segurana e usurios maliciosos. Contudo, poucos esto dispostos a esforar-se para erradicar o principal motivo pelo qual vrus e cracks de e-mail em geral so to perigosos: todos se conectam como um usurio membro do grupo Administrador local e a maioria dos servios so executados como administradores. O princpio do "privilgio mnimo" afirma que trabalhar com o mnimo de direitos necessrios para executar uma ao minimiza os danos quando algo ruim acontece, seja devido a um anexo danificado em um e-mail recebido pelo Outlook ou um servio que apresenta um risco de segurana. Executando programas sem privilgios administrativos, sempre que possvel, voc garante um ambiente mais seguro. Normalmente, os softwares disponveis atualmente exigem privilgios elevados para que funcionem corretamente. Para livrarem-se desse problema, os desenvolvedores devem dar o primeiro passo e deixar de executar as tarefas como administradores. Assim, se todos ns sempre nos logarmos, desenvolvermos e testarmos os aplicativos como usurios no administrativos, os softwares que produzirmos tero mais chances de serem executados sem as exigncias artificiais dos privilgios elevados. At que os desenvolvedores corrijam os softwares que criam e distribuem, os usurios tambm nunca podero trabalhar em um ambiente seguro!

Participao no grupo e permisses para a conta de login

Tarefas como registro global, instalao de novos aplicativos e reconfigurao de dispositivos, exigem privilgios administrativos. A menos que um administrador gerencie seu computador em tempo integral, voc dever ter uma conta administrativa para executar essas tarefas. De agora em diante, parte-se do pressuposto de que essa conta de usurio ser chamada de 'Administrador' e que estar no computador local, ao invs de uma conta de domnio. Contudo, o usurio poder, da mesma maneira, ser chamado de 'root' (raiz), desde que seja membro do grupo Administradores do computador local. Parte-se tambm do pressuposto de que voc esteja trabalhando em um domnio Windows e que seu login principal seja uma conta nesse domnio, no formato DOMNIO\nome_de_usurio; contudo, isso no uma exigncia e ambas as contas poderiam estar no mesmo computador. Alterao do status da conta Aps confirmar que voc ainda possui acesso a uma conta administrativa, v at o Gerenciador de usurios, remova sua conta de usurios do grupo Administradores e, em seguida, adicione-a ao grupo Usurios e a quaisquer outros grupos com privilgios reduzidos que forem apropriados. Para adicionar sua conta de usurio ao grupo Usurios, voc deve antes iniciar o Microsoft Management Console (MMC) e o snap-in de gerenciamento de usurio. Nota: Na maioria das configuraes de rede, o grupo Usurios do domnio j membro do grupo Usurios local, assim sua conta de domnio j estar no grupo Usurios local.

Como usar o Microsoft Management Console


Clique com o boto direito em Meu computador e selecione Gerenciar.

ou No menu Iniciar, selecione Executar e, em seguida, digite lusrmgr.msc.

Agora voc est pronto para adicionar sua conta ao grupo Usurios.

Incluso de sua conta em grupos com privilgios reduzidos


1. Confirme se a conta que ser usada como seu login principal no futuro no faz parte do grupo Usurios avanados. O grupo Usurios avanados , na prtica, o grupo Administradores, porque, por padro, possui acesso de gravao nos diretrios HKLM\Software e Arquivos de programas. a. Sob o n Usurios e grupos locais, selecione a pasta Grupos. b. Clique duas vezes no grupo Usurios avanados. c. Se a sua conta, ou um grupo que contiver sua conta, estiver relacionada na caixa de listagem Membros, selecione essa entrada. d. Selecione Remover.

2. 3. 4. 5.

Acrescente a conta ao grupo Usurios. Acrescente a conta ao grupo Usurios de depurao (Debugger Users). Remova a conta do grupo Administradores. Adicione a conta a qualquer outro grupo apropriado, de acordo com a tabela a seguir:

Se voc:
Usar Terminal Services para se conectar ao computador remotamente Desenvolve e depura aplicativos Web locais e estiver usando o Windows Server 2003 Nota: Se voc desenvolve e depura aplicativos Web locais no Windows XP Professional, adote o procedimento a seguir para adicionar o privilgio Fazer logon como um trabalho em lotes (Log on as Batch Job) sua conta.

Logando com um batch job


1. 1. No menu Iniciar, selecione Executar e, em seguida, digite gpedit.msc.

Ser exibido o Editor de objetos de diretiva de grupo. 2. Expanda o n Configurao do computador para exibir os ns Configuraes do Windows, Configuraes de segurana, polticas locais e Atribuio de direitos ao usurio. Adicione a conta DOMNIO\nome_de_usurio restrita ao grupo Logon como um trabalho em lotes (Log on as a batch job). Faa logoff e volte a fazer logon como esse usurio, para que as alteraes sejam ativadas.

3. 4.

Como garantir o acesso a arquivos e compartilhamentos Enquanto voc estava conectado como membro do grupo Administradores local, talvez tenha criado diretrios para seu uso pessoal. Talvez voc tenha tambm criado compartilhamentos de rede que desejava que sua conta de usurio tivesse acesso, mas esses compartilhamentos de rede foram criados com acesso concedido somente ao grupo Administradores local. Voc deve garantir que os diretrios que criou na unidade local, fora do diretrio do seu perfil, ainda estejam disponveis para voc e de propriedade de sua conta de usurio.

Para verificar a propriedade de um arquivo ou diretrio particular


1. 2. 3. Clique com o boto direito sobre o arquivo ou pasta e selecione Propriedades. Na guia Segurana, selecione Avanado. Na guia Proprietrio, verifique se sua conta de usurio est relacionada. Se no estiver, aproprie-se.

Para verificar o acesso ao compartilhamento de arquivos


1. 2. 3. 4. Clique com o boto direito em Meu computador e selecione Gerenciar. Expanda o n Pastas compartilhadas e, em seguida, o n Compartilhamentos. Para verificar o acesso a cada compartilhamento criado por usurio, clique com o boto direito sobre o compartilhamento e selecione Propriedades. A guia Permisses de compartilhamento e a guia Segurana correspondem ao acesso ao compartilhamento e s permisses subjacentes ao sistema de arquivos, respectivamente. A conta de usurio deve ter acesso por meio de ambas as listas, para que possa realizar quaisquer operaes com aquele compartilhamento. Se voc no tiver acesso, adicione sua conta de usurio em ambos os locais. Execuo de tarefas administrativas Ao efetuar o log in, voc notar que muitos recursos da interface de usurio deixaram de funcionar. Um duplo clique no relgio na barra de tarefas, por exemplo, no abre mais o calendrio, porque o calendrio pode alterar a data e esse recurso s est disponvel para usurios com privilgios elevados. Execuo de um aplicativo como outro usurio O Windows XP contm recursos para executar facilmente um aplicativo como outro usurio, sem necessidade de fazer logout e voltar como esse usurio. Observe, no entanto, que esses aplicativos sero encerrados quando voc encerrar sua sesso principal de logon interativo. H trs maneiras de se fazer isso:

Executando um atalho com credenciais diferentes


1. 2. 3. Clique com o boto direito sobre o atalho. Ser exibido o menu Propriedades. Selecione Executar como. Isso permite que voc fornea outro nome de usurio e outra senha para executar o aplicativo. Se voc pretende sempre executar um aplicativo como outro usurio, poder tambm permitir que o Windows lhe pea essas informaes automaticamente.

Executando aplicativo por linha de comando com outras credenciais


No menu Iniciar, selecione Executar e, em seguida, digite runas /user:Administrator program.exe.

ou

Na janela de shell de comando, digite runas /user:Administrator program.exe.

O programa runas.exe pedir uma senha e executar qualquer linha de comando que voc tiver passado como uma nova sesso de login. Essa uma maneira prtica de executar programas como o regedit e o iexplore, ou mesmo de abrir uma nova janela de comando; todos aqueles comandos filhos estaro sendo executados como aquele usurio. Como se trata de um novo login, no herda identificadores, variveis de ambiente ou o diretrio de trabalho atual de seu ponto de invocao; se voc quiser executar programas que no estiverem na lista de diretrios do outro usurio, dever fornecer o caminho completo at eles.

Pedindo outro nome de usurio automaticamente


1. O Windows XP e as verses posteriores tambm permitem que o usurio altere as propriedades dos atalhos, de modo que, sempre que forem ativados, o usurio ser consultado para informar um novo nome de usurio (username) e uma nova senha. Clique com o boto direito sobre o atalho e selecione Propriedades. Na guia Atalho, selecione Avanado. Selecione Executar com credenciais diferentes.

2. 3. 4.

Execuo de ferramentas administrativas especializadas com credenciais diferentes


A pergunta lgica seguinte : Como executar as ferramentas que normalmente so iniciadas no painel de controle? Voc deveria clicar com o boto direito em Meu computador e selecionar Gerenciar, ou usar outros recursos da interface de usurio que no apresentam atalhos intuitivos ou equivalentes bvios para a linha de comando? Felizmente, todas as ferramentas administrativas esto disponveis, seja por meio dos pequenos programas do painel de controle ou diretamente pelo Microsoft Management Console (MMC). As tabelas a seguir relacionam as ferramentas administrativas mais comuns (programas do painel de controle e arquivos do Microsoft Management Console) e como elas podem ser iniciadas (a partir do prompt de comando ou iniciando os aplicativos control.exe ou mmc.exe diretamente com o comando RunAs). Todas elas encontram-se armazenadas na pasta Windows System32, embora algumas estejam disponveis exclusivamente na famlia Windows Server 2003 ou no Windows XP. Tais entradas esto identificadas na tabela abaixo.

Ao administrativa
Opes de acessibilidade 802.11 Monitor Adicionar ou remover programas Console Vdeo

Programa do
access.cpl apgui.cpl appwiz.cpl console.cpl DESK.cpl
1

SCSI, PCMCIA, e dispositivos de fita Assistente para adicionar novo hardware Internet Configuraes Regionais Controladores de jogo Mouse, Fontes, Teclado, Impressoras Multimdia e sons Modems Rede Gerenciamento de logon do XP ODBC Opes de energia Portas Dispositivos, Servios, Servidor Sistema Telefonia Data/Hora UPS
1

DEVAPPS.cpl hdwwiz.cpl inetcpl.cpl INTL.cpl joy.cpl main.cpl MMSYS.cpl MODEM.cpl ncpa.cpl


1

Nusrmgr.cpl (X odbccp32.cpl powercfg.cpl PORTS.cpl srvmgr.cpl SYSDM.cpl telephon.cpl


1

TIMEDATE.cpl ups.cpl
1

Usa a famlia Windows Server 2003 de sistemas operacionais

Ao administrativa
Certificados de Usurios Autoridade de certificao Modelos de certificados Servio de indexao

Gerenciamento do computador Editor de objetos de diretiva de grupo Gerenciador de dispositivos Desfragmentador de disco Sistema de arquivos distribudos Gerenciamento de disco Domnios e relaes de confiana do Active Directory Configuraes padro de segurana de domnio Usurios e computadores do Active Directory Sites e servios do Active Directory Visualizar eventos (Event Viewer) Servidor de arquivos Pastas compartilhadas Editor de objetos de diretiva de grupo Servio de autenticao da Internet Usurios e grupos locais Armazenamento removvel Solicitaes do operador do armazenamento removvel Desempenho Roteamento e acesso remoto Conjunto de diretivas resultante Configuraes locais de segurana Servios Telefonia Configurao e conexes de servios de terminal (Terminal Services)

reas de trabalho remotas Infraestrutura de gerenciamento do Windows (Windows management infrastructure WMI)
1

Usa a famlia Windows Server 2003 de sistemas operacionais

Credenciais de rede
Quando uma janela ou sesso de logon for aberta como administrador, as credenciais de rede padro no sero as mesmas da conta de domnio normalmente usada para fazer logon. Como a maioria das redes expe recursos crticos (tais como compartilhamentos de arquivos) somente a contas de domnio, necessrio estabelecer credenciais de rede alternativas. H duas maneiras de se fazer isso: Voc pode abrir uma nova janela de comando e, em seguida, definir credenciais padro alternativas para serem usadas na rede. Outra opo permitir que servidores ou compartilhamentos individuais sejam acessados com outro nome de usurio e senha. Quando voc estiver executando um prompt de comando, poder ser til alterar seu ambiente para indicar claramente que se trata de uma janela com privilgios administrativos. Muitas pessoas usam um dos seguintes mtodos: Definir o prompt em que os comandos so inseridos como exclusivo, como PROMPT ADMIN $P$G Definir uma cor diferente para o prompt, como um fundo vermelho brilhante com texto preto, usando o comando COLOR c0 Definir a barra de ttulo com texto exclusivo, usando um comando como title Admin Window

Abertura de uma nova janela de comando com credenciais de rede alternativas


1. 2. 3. Para abrir a janela, use runas /user:administrator "runas /netonly /user:DOMAIN\username cmd.exe" Na primeira janela de comando que surgir, insira a senha de administrador, quando solicitado. Na segunda janela de comando que surgir, insira a senha do nome de usurio alternativo, cujas credenciais sero usadas ao acessar recursos pela rede.

Abertura de uma nova janela de comando para acessar compartilhamentos de servidores individuais
1. Abra uma nova janela de comando com o comando /user:administrator cmd.exe.

2.

Para cada servidor de rede que precisar de um conjunto alternativo de credenciais, use o comando net use /user:DOMAIN\username \\server nessa janela de shell.

Outras formas do comando net use permitem que voc mapeie uma unidade de rede em uma letra persistente ou fornea as credenciais de domnio para autenticar solicitaes de acesso vindas desse computador. A tabela a seguir relaciona alguns comandos net use. Depois que voc tiver concludo esses comandos, os aplicativos podero ser instalados dos compartilhamentos remotos, como normalmente seriam.

Comando net use


net use net use * /persistent:no /user:DOMAIN\username \\server\share net use /user:DOMAIN\username \\server\share Instalao de software

Ao
Relaciona as conexes

Abre uma conexo mapeada em uma letra de unidade prximo logon

Conecta ao compartilhamento de rede com credenciai

Instalar software quando no se tem privilgios administrativos pode ser complicado. Por exemplo, a insero de um disco de instalao inicia a instalao como o usurio que est logado atualmente, que provavelmente no possui as permisses necessrias para instalar o aplicativo. Para evitar isso, voc pode: Executar o programa de instalao (que geralmente o setup.exe) com o comando RunAs.

ou Use o comando runas /user:administrator "control appwiz.cpl".

Isso criar uma instncia do aplicativo Adicionar ou remover programas sendo executado como o usurio Administrador. Opte por instalar para todos os usurios deste computador se o aplicativo oferecer essa opo, ou o usurio Administrador poder ser a nica pessoa que conseguir execut-lo aps a concluso da instalao.

Controles ActiveX
Muitos sites da Web principalmente de intranets corporativas costumam exigir acesso administrativo para instalar seus controles ActiveX e no oferecer suporte para a instalao por usurios restritos. A maneira mais fcil de iniciar o Internet Explorer como Administrador a seguinte: 1. Clique com o boto direito sobre o cone. O cone poder estar na barra Quick Launch, na rea de trabalho ou no menu Iniciar.

2.

Selecione Executar como na lista Propriedades e execute-o como Administrador.

O pacote do Windows Installer


Se for um pacote do Windows Installer (arquivo .MSI), o aplicativo MSIEXEC.exe ser til para instalar ou desinstalar aplicativos. Para instalar, execute msiexec /I msifile.msi. Nota: Isto exatamente o que o Windows faz quando voc clica duas vezes sobre um arquivo .MSI. Para desinstalar, execute msiexec /x msifile.msi. Nota: Os argumentos para o programa msiexec.exe encontram-se em mshelp://MS.VSCC/MS.MSDNVS/msi/app_73eb.htm. Execuo de programas que assumem acesso administrativo Infelizmente muitos programas no so compatveis com o programa Windows Logo e muitos dos programas que so compatveis parecem ser menos compatveis do que outros. O programa Windows Logo determina que um aplicativo deve funcionar razoavelmente sob uma conta menos privilegiada, sempre que possvel. Ocasionalmente, um programa exige o acesso de gravao para contas de usurio em seu diretrio em Arquivos de programas, ou mesmo uma chave em HKLM\Software. Se voc puder determinar com facilidade o acesso ao diretrio, aos arquivos ou s chaves de Registro, poder edit-los para ajudar o programa a ser executado. Os procedimentos a seguir explicam como fazer isso.

Editar as permisses do Registro


1. 2. 3. 4. Abra o regedit como Administrador, digitando runas /user:Administrator regedit. Clique com o boto direito sobre a chave do Registro que voc deseja editar. Selecione Permisses. Adicione o usurio apropriado ao conjunto dos usurios que tiverem permisso Full Control ou d a eles um conjunto personalizado de privilgios de acesso nessa chave.

Editar as permisses do sistema de arquivos


Para arquivos ou diretrios, o programa cacls.exe til para redefinir as permisses a partir da linha de comando. H ajuda disponvel para o Cacls.exe, que pode ser obtida de duas maneiras: Na linha de comando, passando a flag /? Na ajuda do Windows

Exemplo: executar o programa cacls.exe para adicionar permisses para um usurio em um diretrio Execute o calcs.exe com as flags para conceder recursivamente privilgios de escrita . runas /user:Administrator "cacls.exe directory /t /e /g domain\username:w" No Windows Server 2003, insira o nome do diretrio completo, usando barras de forma invertida (/) No Windows XP Professional, talvez seja preciso omitir as aspas finais devido a diferenas no programa cacls.exe entre as verses do sistema operacional. Verifique o resultado do comando runas.exe e, se contiver aspas extras (como mostrado abaixo), remova as aspas finais da linha de comando acima. Attempting to start cacls.exe c:\foo\ /t /e /g domain\username:w" as user "MACHINE\Administrator" ...

Como ltimo recurso, voc pode usar o runas.exe para iniciar o programa como o usurio Administrador local; contudo, tenha cuidado afinal, se o programa no for suficientemente bem-comportado para reduzir corretamente em um ambiente menos privilegiado, o quo confivel ser em um ambiente com privilgios mais altos? Infelizmente, muitos programas no foram testados para serem executados como um usurio alm daquele que o instalou, principalmente em contas menos privilegiadas; talvez voc constate que ter que executar o programa como Administrador local para conseguir realizar o trabalho. Isso ainda um ambiente melhor do que executar todos os softwares e fazer logon como membro do grupo Administradores local, mas voc deve tentar entrar em contato com a empresa que desenvolveu o software e comunic-los sobre os bugs, para que possam corrigi-los na verso seguinte. A nica maneira de os usurios serem capazes de trabalhar em um ambiente de login mais seguro e ainda assim permanecerem to produtivos quanto hoje, os desenvolvedores corrigirem seus softwares. Desenvolvimento de software O Visual Studio .NET compatvel com o programa Windows Logo, por isso era de se esperar que funcionasse como um usurio restrito. Contudo, muito embora a grande maioria de todos os recursos funcione em permisses limitadas, h algumas tarefas que so ligeiramente mais difceis nesse modelo, seja devido a limitaes do sistema operacional ou natureza bsica das tarefas que esto sendo executadas. As sees a seguir oferecem solues simples para todas as tarefas difceis em um processo de desenvolvimento; nas prximas verses do ambiente de desenvolvimento integrado (IDE), esperamos construir esses recursos diretamente no shell e reduzir as exigncias sempre que possvel. Estamos trabalhando muito nas verses futuras tanto do sistema operacional como nas ferramentas de desenvolvimento, para facilitar a execuo dessas tarefas de maneiras equivalentes e que no exijam privilgios administrativos. Etapas ps-build (registro) No Visual C++ clssico, regsvr32.exe. No mundo Visual Basic .NET e do Visual C# .NET, so as montagens de registro para interop. Seja qual for o sistema de projeto que estiver determinando isso, h muitas ferramentas que exigem o acesso de gravao em HKLM\Software\Classes para registrar componentes COM e bibliotecas de tipo (type libraries). Se o seu aplicativo estiver atualmente realizando etapas de registro que exijam permisso de escrita a partes protegidas do registro, voc dever antes determinar se realmente precisa fazlos. Lembre-se que:

HKCU\Software\Classes pode ser alterado por qualquer usurio e exibido no HKCR da mesma forma que HKLM\Software\Classes, embora somente para o seu usurio. Nota: Os detalhes da composio de HKEY_CLASSES_ROOT podem ser encontrados em ms-help://MS.VSCC/MS.MSDNVS/sysinfo/regapi_0htl.htm

Voc no deve se basear no regsvr32.exe como mtodo de instalao para o usurio final dos componentes COM clssicos. aceitvel alterar o registro do seu aplicativo para por usurio (per-user), porque o mtodo DllRegisterServer somente deve ser usado para fins de depurao e desenvolvimento pessoais. Ao desenvolver aplicativos para usurios finais, voc deve criar todas os requisitos de registro nas tabelas do arquivo .MSI do Windows Installer, para que possa lidar com questes tais como vrios programas gravando nas mesmas chaves de registro e sendo instalados ou desinstalados em ordens variadas.

Infelizmente, muitas das ferramentas e APIs do sistema operacional permitem o registro somente em HKLM\Software\Classes; o registro na biblioteca de tipos (type library) um exemplo tpico disso. Nesses casos, as opes mais viveis so usar runas /user:administrator cmd.exe, alterar o diretrio para o diretrio de sada e executar as etapas de registro manualmente, ou eliminar toda a dependncia. Infelizmente, a eliminao da dependncia no registro global complexa o bastante para merecer um artigo totalmente dedicado ao assunto. Uma alternativa criar arquivos manifesto personalizados para contornar todas as etapas de registro, mas isso tambm est fora dos propsitos deste artigo; h mais informaes sobre isso em ms-help://MS.VSCC/MS.MSDNVS/sbscs/sidebysideref_03ol.htm. A maneira menos complicada de contornar as limitaes do registro global executar as etapas de registro com sua conta administrativa. A tabela a seguir mostra tarefas de registro ps-construo (post-build registration) e seus registros. Execute-as na primeira vez e a partir de ento voc dever ser capaz de construir e executar normalmente. Lembre-se, no entanto, que voc poder ter que refazer a etapa de registro sempre que mudar entre as configuraes Debug e Release, e quando fizer alteraes no aplicativo que tiverem impacto sobre os itens que estiverem sendo registrados.

Tipo de registro ps-construo


Registro de executvel COM Registro de DLL COM Registro de assembly .NET para interoperabilidade COM Instalao de um assembly .NET no Global Assembly Cach Registro de instalao de servios .NET Depurao de aplicativos locais Ao se logar como no administrador, h um recurso que voc perde: O Windows no permite a depurao de aplicativos locais que estiverem sendo executados como outro usurio, a menos que tenha o direito especial do usurio para us-lo (SeDebugPrivilege), e o .NET Framework no permite a depurao de aplicativos de outros usurios, a menos que voc esteja no grupo

Administradores local. Voc ainda ser capaz de depurar aplicativos locais e gerenciados que tiver iniciado a partir do ambiente de desenvolvimento, ou que j estiverem em execuo como seu usurio no-administrativo. Se voc precisar depurar servios ou outros programas para que funcionem em outros contextos de segurana, d a si mesmo o privilgio do SO para aplicativos locais, adicione sua conta ao grupo Administradores local ou use RunAs para iniciar o Visual Studio .NET como usurio administrador local. Isto posto, h muitos mtodos para iniciar seu aplicativo como seu prprio usurio, ambos permitindo a depurao e ajudando a garantir que seu aplicativo funcionar corretamente em um ambiente com privilgios limitados.

Aplicativos locais e gerenciados


Sempre que possvel, inicie sua aplicao como seu usurio no-administrativo e tudo funcionar. Por padro, clicar em Iniciar (Start) no menu Debug em executveis normais funciona, assim como anexar (Anexar ao Processo [Attach to Process] no menu Debug) a qualquer um dos aplicativos que voc mesmo iniciou nesse computador. Voc dever ser um participante do grupo Usurios de Depurao para que possa anexar a qualquer processo (attach to process) com os mecanismos padro do Visual Studio .NET. A participao nesse grupo no lhe d acesso para depurar programas de outros usurios, mas permite somente que voc use o servio que anexa o depurador ao processo que estiver sendo depurado.

Computadores remotos (locais/gerenciados)


H duas maneiras aceitveis de realizar depurao remota: por meio do servio gerenciador de depurao de computador (Machine Debug Manager Service) ou msvcmon.exe. O gerenciador de depurao de computador um servio que reconhece suas credenciais de rede, entende quem voc , verifica se voc membro do grupo de Usurios de Depurao do computador de destino e, se for, permite que voc se conecte aos seus aplicativos. O gerenciador de depurao de computador (Machine Debug Manager) tambm a nica maneira de depurar aplicativos gerenciados remotos, inclusive aplicativos para a Web. Voc no poder se conectar aos aplicativos de outros usurios em computadores remotos somente por estar no grupo Usurios de Depurao. Para os programas nativos que estiverem sendo executados em um computador remoto, voc precisar tambm do direito de usurio SeDebugPrivilege no computador de destino. Para aplicativos gerenciados em um computador remoto, voc dever ser membro do grupo Administradores. Como mtodo alternativo para depurar aplicativos nativos, o programa msvcmon.exe oferece uma maneira de conectar por TCP/IP a aplicativos gerenciados em um computador remoto. Nessa situao, as credenciais de login da mquina de depurao no sero duplicadas no computador remoto. Por exemplo, se msvcmon.exe for iniciado no computador remoto como o Administrador local do computador, mas com a flag "-anyuser", ento qualquer pessoa poder se conectar ao servio e se anexar e depurar qualquer aplicativo nativo nesse computador, mesmo se no tiver originalmente os direito para faz-lo. Criao de aplicativos para a Web H duas opes para criar aplicativos para a Web. A primeira adicionar a conta do usurio a que voc estiver conectado ao grupo Desenvolvedores VS (VS Developers), permitindo que essa

conta grave em qualquer lugar da WebRoot do IIS. A maneira alternativa criar o diretrio como esse usurio e, em seguida, adicionar uma Virtual Root. Em ambos os casos, depois que tiver concludo uma dessas opes, voc poder criar o novo aplicativo na caixa de dilogo Criar novo projeto do Visual Studio .NET como o usurio restrito.

Para adicionar uma Virtual Root no IIS


1. 2. 3. 4. 5. 6. 7. Execute o console de gerenciamento compmgmt.msc como um usurio administrativo. Expanda o n Servios e aplicativos para exibir os ns Internet Information Services e Sites da Web. Clique com o boto direito no n Site da Web padro e selecione Novo e, em seguida, selecione Pasta virtual. Clique em Avanar, insira um nome para a raiz virtual e clique em Avanar novamente. Insira o nome do diretrio a expor e clique em Avanar. No altere as permisses padro e clique em Avanar. Clique em Concluir para estabelecer a raiz virtual.

Depurao de aplicativos para a Web H duas condies para depurar aplicativos para a Web: executar o ASP.NET como sua conta de login restrita e permisses de diretrios. Para o conjunto de diretrios a que voc ter que adicionar a permisso de leitura ou gravao, consulte a tabela a seguir.

Diretrio
%WINDIR%\Temp %INSTALLROOT% %INSTALLROOT%\ASP.NET Temporary Files

Permisses necessrias no diretrio


Leitura e gravao Leitura Leitura e gravao

Nota: %INSTALLROOT% segue o formato D:\WINDOWS\Microsoft.NET\Framework\v1.0.3705 e %WINDIR% segue o formato D:\WINDOWS. Por padro, com o login de um usurio restrito, no possvel depurar aplicativos da Web porque o usurio que estiver executando o depurador no ser membro do grupo apropriado para depurar programas de outros usurios (Administradores), e o servidor Web ter iniciado o ASP.NET como a conta NETWORK_SERVICE. Se voc no quiser conceder essa participao do login no grupo Administradores local ou executar o depurador como o Administrador local, ter que alterar a conta que estiver sendo usada pelo ASP.NET. No Windows XP Professional, edite o machine.config como mostrado abaixo e coloque seu nome de usurio e senha em texto puro. Isto apresenta a possvel desvantagem de exigir que todos os aplicativos ASP.NET dessa mquina sejam executados como sua conta de usurio, mas o melhor mtodo para o IIS 5 e permite que voc depure e crie aplicativos para a Web da mesma maneira que fazia anteriormente.

Nota de segurana Se voc fizer isso, o arquivo machine.config dever estar em uma unidade NTFS e ter um conjunto ACL restritivo, ou qualquer pessoa que fizer logon no computador poder ver sua senha. Mesmo fazendo isso, todos os usurios do grupo Administradores sero capazes de ler, independente do conjunto ACL. Como permitir que o ASP.NET funcione como outro usurio no Windows XP Professional Como um Administrador, edite os atributos do arquivo "%INSTALLROOT%\Config\machine.config" na tag processModel, como mostrado: <processModel enable="true" userName="DOMAIN\username" password="MyPswd2" ... / > Nota: %INSTALLROOT% segue o formato D:\WINDOWS\Microsoft.NET\Framework\v1.0.3705

Como permitir que o ASP.NET funcione como outro usurio no Windows Server 2003
No Windows Server 2003 e no IIS 6, h um novo recurso chamado pools de aplicativos (application pools). Cada pool pode ser configurado para funcionar como um usurio diferente, desde que o usurio seja membro do grupo IIS_WPG. Podem ser adicionados virtual roots a um pool de aplicativos, e o depurador ser ento capaz de anexar ao mesmo se o pool estiver funcionando como o mesmo usurio que tiver iniciado o depurador. Esse mecanismo oferece uma maneira fcil de configurar um ambiente de execuo alternativo, proteger com segurana as credenciais do usurio e definir virtual roots adicionais.

Como adicionar e configurar um pool de aplicativos


1. 2. 3. 4. 5. 6. 7. Execute o console de gerenciamento compmgmt.msc como um usurio administrativo. Expanda o n Servios e aplicativos para exibir os ns Internet Information Services e Pools de aplicativos (Application Pools). Clique com o boto direito no n Pools de aplicativos, selecione Novo e em seguida selecione Pool de aplicativos. Digite um nome para o pool de aplicativos e clique em OK. Clique com o boto direito sobre o novo pool de aplicativos e selecione Propriedades. Na guia Identidade, selecione a opo Configurvel. Nas caixas correspondentes, insira o Nome de usurio e a Senha com que voc pretende executar o depurador e clique em OK.

Nota: Essa conta deve ser membro do grupo IIS_WPG e ter as permisses de acesso listadas acima para executar aplicativos ASP.NET.

Como definir uma Virtual Root para executar um pool de aplicativos


1. 2. 3. 4. 5. 1. Execute o console de gerenciamento compmgmt.msc como um usurio administrativo. Expanda o n Servios e aplicativos para exibir os ns Internet Information Services, Sites da Web e Site da Web padro. Expanda o n Sites da Web padro para exibir todas as virtual Root disponveis. Clique com o boto direito sobre a virtual Root e selecione Propriedades. Na guia Diretrio virtual, altere o menu drop-down Pool de aplicativos e selecione o pool de aplicativos usando a identidade de usurio apropriada e clique em OK.

Instalando distribuies dos projetos output Instalando o projeto output de distribuio envolve as mesmas restries que a instalao de um aplicativo a partir de uma rede, como mencionado anteriormente sobre as ferramentas RunAs.exe e MSIEXEC. Instale-o como um aplicativo normal, para todos os usurios, ou poder ser difcil inici-lo ou depur-lo.

Você também pode gostar