O NTFS é um pouco estranho (para algumas pessoas) porque o mesmo bit de acesso faz coisas diferentes quando configurado em diretórios do que quando são definidos em arquivos. Se você tem uma estrutura como essa no Server 2003:
\devsrv\projshare\projectFour\Config
Para permitir que os usuários visualizem o conteúdo do diretório "config", mas não consigam visualizar o conteúdo (apenas os metadados) dos diretórios "\" e "projectFour", várias coisas precisam ser feitas. Estou assumindo que os usuários não têm outros direitos que lhes concedam visibilidade / acesso ao topo desse compartilhamento.
- O diretório de nível superior do compartilhamento precisa, no mínimo, de "RX" privs apenas para esse diretório. Isso pode ser definido em configurações 'Avançadas' da caixa de diálogo de permissões.
- Coloque uma marca de verificação nos seguintes direitos, "Listar Pasta / Ler Dados", "Ler Atributos", "Ler Atributos Estendidos", "Permissões de Leitura"
- Assegure-se de que o aplicativo Aplicar para: "Somente esta pasta"
- Esse conjunto de direitos permite que os usuários mapeiem o compartilhamento sem um erro de acesso negado.
- Repita este passo no diretório "projectFour".
- No diretório 'config', conceda aos usuários o simples 'Read' correto.
Essa configuração de direitos, embora complicada, permitirá que os usuários acessem o diretório Config com um mapeamento de unidade local para a raiz compartilhada. Eles poderão entrar no diretório projectFour e visualizar suas informações de listagem de diretórios, mas nenhum outro dado.
Se você tiver disponível, icacls torna isso mais fácil:
(on server)
icacls k:\ /grant [usergroup]:(r)
(on client, if on server replace "\devsrv\projshare" with "k:")
icacls \devsrv\projshare\projectFour /grant [usergroup]:(r)
icacls \devsrv\projshare\projectFour /grant [usergroup]:(oi)(ci)(rx)
(oi) significa "objeto herdado", que significa "aplicar a arquivos".
(ci) significa "container herdar", que significa "aplicar aos diretórios".
(r) significa "Read", quando definido diretamente em diretórios significa "permitir que os usuários leiam metadados deste diretório".
(rx) significa "Ler e executar". Como (r), mas permite que os usuários executem programas nessa estrutura.
Quando usado em conjunto com a Enumeração Baseada no Acesso (disponível, IIRC, no Server 2003 R2 e superior), os usuários verão somente diretórios e arquivos aos quais eles têm acesso. No caso acima, os usuários só veriam "projectFour" sob a raiz do compartilhamento, mesmo que houvesse trinta outros diretórios na raiz.