sexta-feira, 24 de agosto de 2012

Usuários restristos não conseguem acessar conteúdo da lixeira!

Olá pessoal,

Neste post falaremos sobre um caso onde os usuários que não tem direito administrativo, não conseguem visualizar o conteúdo da lixeira do Windows.
Ao acessar a lixeira, nada é exibido, mesmo que o icone da lixeira apareça como cheio.



Usuários que tem o perfil de administrador conseguem acessar e visualizar o conteúdo da lixeira normalmente.

Uma vez que usuários com direitos administrativos são capazes de visualizar o conteúdo da lixeira do Windows sem nenhum problema e os usuários restritos não conseguiam, o primeiro ponto a ser verificado são as permissões e direitos para os usuários.

Para identificarmos qual acesso estava sendo negado, utilizamos a ferramenta Process Monitor, disponível em http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

O Process Monitor é uma ferramenta de monitoramento avançado para Windows que nos mostra em tempo real as atividades no sistema de arquivos,  registro, processos, e atividades de threads.

Com isso, simulamos o problema (acessando a lixeira com o usuário restrito) rodando o monitoramento do Process Monitor.
O Process Monitor nos trouxe a informação de que o acesso estava sendo negado para o usuário para a pasta $Recycle.bin no disco C:\



A partir desse ponto, partimos para verificar que tipo de permissão estava faltando nesta pasta, comparando-a com a de um sistema sem problemas.
Usamos a ferramenta CACLS, para comparar as permissões:
No disco C: o CACLS nos mostrou as seguintes permissões para a pasta $Recycle.bin

*********************************************
C:\>CACLS $RECYCLE.BIN
C:\$RECYCLE.BIN AUTORIDADE NT\SISTEMA:(OI)(CI)(ID)F
                BUILTIN\Administradores:(OI)(CI)(ID)F
                BUILTIN\Usuários:(OI)(CI)(ID)R
*********************************************

O resultado esperado para as permissões da pasta $Recycle.bin seriam:

*********************************************
E:\$RECYCLE.BIN BUILTIN\Administrators:(OI)(CI)F
                NT AUTHORITY\SYSTEM:(OI)(CI)F
                BUILTIN\Users:(NP)(special access:)
                                  READ_CONTROL
                                  SYNCHRONIZE
                                  FILE_GENERIC_READ
                                  FILE_GENERIC_EXECUTE
                                  FILE_READ_DATA
                                  FILE_APPEND_DATA
                                  FILE_READ_EA
                                  FILE_EXECUTE
                                  FILE_READ_ATTRIBUTES
                                  FILE_WRITE_ATTRIBUTES
*********************************************

A partir desse ponto podemos observar que algumas permissões para o grupo Users estavam faltando.
Verificamos manualmente estas permissões e identificamos que o grupo users não tinham as permissões marcadas abaixo:

• Create Folders / Append data
• Write Attributes

Marcamos as entradas conforme a imagem abaixo, para o grupo Users, e após essas permissões os usuários restritos conseguiram visualizar o conteúdo da lixeira normalmente.


Como diversas máquinas possuíam este mesmo problema e foram instaladas a partir de uma imagem, sugerimos que as permissões da pasta $Recycle.bin fossem restauradas utilizando o comando CACLS abaixo:

*************************************************************************************
cacls C:\$Recycle.Bin /S:"D:PAI(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;;0x1201ad;;;BU)"
*************************************************************************************

Esta linha de comando restaura as permissões originais para a pasta $Recycle.bin.
Através dessa linha de comando é possível criar um script para que o processo de de restauração das pastas sejam realizados de forma automática. (é necessário direitos administrativos para rodar  a linha de comando)

Com o script abaixo você consegue realizar a mudança de forma automática para diversas máquinas.

***************************************************
::BEGIN BATCH FILE
@echo Y> Y.txt
@cacls C:\$Recycle.Bin /S:"D:PAI(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;;0x1201ad;;;BU)" <Y.txt
@del Y.txt
::END BATCH FILE
***************************************************
Espero que este post ajude quem tem o mesmo sintoma a resolver o problema, caso tenha algum problema parecido você pode seguir a mesma linha de troubleshooting, através do Procmon e verificando se existe algum acesso negado.

Abraços e até o próximo post!

Um comentário: