Permitir ver se o arquivo existe, mas não ler nenhum dado

2

É possível definir uma permissão de pasta para que você (neste caso, um aplicativo .net) possa ver se existe um arquivo, mas não ler nenhum dado.

Eu quero poder definir permissões, então:

  1. Um usuário pode dizer se existe um arquivo
  2. Um usuário pode gravar na pasta.
  3. Nenhuma outra permissão (não é possível ler / excluir etc).

-thanks Alex.

    
por Alex KeySmith 02.12.2010 / 12:33

3 respostas

1

Supondo que você esteja falando sobre o Windows ...

A melhor maneira lógica e direta de fazer isso, eu acho, é se você definir as permissões na pasta (e você terá que usar o botão Avançado dentro da guia Segurança nas Propriedades da pasta) para Permitir a pasta transversal / Executar arquivo, permitir criar arquivos / gravar dados e permitir criar pastas / acrescentar dados.

Infelizmente, a pasta de lista / leitura de dados é uma permissão única para que você não possa dividir isso no nível de permissão do Windows. Os usuários poderão gravar e anexar arquivos e pastas, mas não listar as pastas ou ler os arquivos (ou excluí-los).

No entanto, um bom trabalho seria em vez de projetar seu aplicativo para testar a existência de arquivos, testar a existência de pastas e colocar cada arquivo a ser protegido em sua própria pasta. Se você remover as permissões List Folder / Read Data das pastas dentro de uma pasta principal, poderá negar permissão ao seu aplicativo para abrir os arquivos dentro dessas subpastas, mas permitir que eles vejam a existência das subpastas.

    
por 02.12.2010 / 15:22
2

Depende da versão do Windows ... basta olhar para o Win7, "Listar o conteúdo da pasta" é o seu próprio item na página Permissões básicas. Outros itens são Controle Total, Modificar, Ler & executar, ler, escrever e permissões especiais.

Acabou de ser verificado: o XP Pro tem as mesmas opções.

Portanto, definir a remoção de todas as permissões, exceto "Gravar" e "Listar conteúdo da pasta", deve fazer o que você deseja (talvez seja necessário "Modificar" também, se for necessário atualizar os arquivos existentes).

    
por 02.12.2010 / 16:27
1

Eu posso fazê-lo no Windows Server 2003, no entanto, no Windows 2008, com exatamente as mesmas permissões de arquivo que ele não funciona. Eu não consigo descobrir o porquê. Abaixo estão as minhas configurações do Server 2003, que fazem o que você descreveu. Eu uso com o meu FTP para que os usuários não possam ler e escrever no mesmo diretório. Eu fiz isso depois que as pessoas pornográficas encontraram meu FTP uma vez antes e de repente eu me tornei um servidor pornô. Isso impede esse uso, mesmo que alguém tenha um login na máquina.

Estrutura de diretórios bar   Entrada     Várias pastas       Vários arquivos   Extrovertido     Várias pastas       Múltiplos arquivos

Abra as Propriedades na Entrada e selecione o usuário, no meu caso minha conta de usuário de FTP   Conteúdo da pasta da caixa de seleção, Escreva um comentário Clique em Avançado. Desmarque a caixa Permitir permissões herdáveis e deixe-a adicionar as configurações atuais.   Para a conta de usuário do FTP, edite as configurações e desmarque todas as sinalizações, exceto DENY Excluir subpastas e arquivos e DENY Excluir. (a aplicação em Esta pasta e subpastas é selecionada acima da lista de permissões) Clique em OK   Agora adicione um usuário e adicione este mesmo usuário. Desta vez, Checkbox Atravessar Pasta / Executar Arquivo, Listar Pasta / Ler arquivo, Ler Atributos, Ler Atributos Estendidos, Permissões de Leitura. Clique OK   Agora, adicione um usuário e adicione este mesmo usuário novamente. Desta vez, a caixa de seleção Criar Arquivos / Gravar Dados, Criar Arquivos / Acrescentar Dados, Atributos de Gravação / Atributos Estendidos de Gravação. Clique em Ok.

Agora, basta clicar em OK para sair das caixas.

Como eu disse, funciono perfeitamente no meu Windows 2003 Server. Eu tive isso funcionando perfeitamente no meu servidor Windows 2000. Não consigo fazer isso funcionar no meu servidor Windows 2008 R2.

    
por 23.09.2011 / 21:35

Tags