NTFS - permite que um usuário leia, grave e salve um arquivo .xlsx, mas não o exclua ou crie novos arquivos e pastas

1

Gostaria de permitir que um usuário trabalhe com uma pasta de trabalho do Excel já criada - diga A.xlsx - em uma pasta. Ele seria capaz de abrir, modificá-lo e salvá-lo. Não é possível renomear / excluir ou outros arquivos nem criar novos arquivos / pastas nessa pasta.

Como posso fazer isso? Eu tentei definir permissões avançadas. Na pasta apenas eu desabilitei

  • Crie arquivos
  • Crie pastas
  • Excluir subpastas e arquivos
  • Excluir

e em A.xlsx eu desativado

  • Excluir subpastas e arquivos
  • Excluir

Desta forma, fui bem sucedido em desabilitar a exclusão e criação de novos arquivos / pastas, mas quando quero salvar o A.xlsx sobrescrevendo-o, ele diz "o arquivo não foi salvo", como se ele não tivesse a permissão nesse diretório.

MithPaul
fonte
+1, modificar é uma permissão incluindo excluir direito, você não pode excluí-lo. Se você tem medo de alguém excluir um arquivo acidentalmente, procure a Cópia de Sombra: google.com.hk/…
Bilo
@Ramhound Na verdade, você pode configurar esse arranjo, mas também precisa ajustar as permissões da pasta que o contém. Veja minha resposta.
Ben N

Respostas:

0

Na pasta (importante: defina o Aplica-se a para a regra de acesso para Apenas esta pasta ), certifique-se de que o usuário tenha apenas estas permissões:

  • Atravessar pasta / executar arquivo
  • Listar pasta / ler dados
  • Atributos de leitura
  • Leia os atributos estendidos

(Se você estiver configurando uma entrada de negação, bloqueie estes: Crie arquivos , Crie pastas , Atributos de gravação , Escreva atributos estendidos , Excluir subpastas e arquivos , Excluir , Alterar permissões , Tomar posse .) No arquivo, negar estas permissões para o usuário:

  • Excluir
  • Alterar permissões
  • Tomar posse

Esse arranjo produz os resultados desejados para mim no Windows 10. É possível usar a guia Acesso efetivo da pasta e do arquivo para garantir que você não tenha outras regras interferindo neles.

O usuário poderá então ler e gravar esse arquivo. O usuário não poderá renomear o arquivo, criar novos arquivos nessa pasta ou excluir esse arquivo. Observe que, se o usuário tiver a permissão "excluir" em outros arquivos nessa pasta, poderá excluí-los.

Observe, é claro, que, como o usuário pode gravar no arquivo, ele pode excluir tudo sem excluir o próprio arquivo. Se você não confiar nesse usuário, mantenha os backups.


Para arquivos do Excel especificamente, isso não faz todo o trabalho. Os programas do Office sempre salvam o documento em um arquivo temporário, excluem o original e renomeam o temporário para o original. Você pode contornar isso mexendo no Registro conforme instruído por este artigo da Microsoft . Abra esta chave na conta do usuário:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Common\General

Para o Office 2013, altere 14.0 para 15.0. (Está 16.0 para o Office 2016.) Crie um novo valor DWORD chamado EnableSimpleCopyForSaveToUNC com os dados de 1. Você também terá que alterar as permissões na pasta para permitir que o usuário Criar arquivos / gravar dados . (Mas como está apenas na pasta, o usuário não poderá mexer em nada, apenas criar novos arquivos.) Isso permitirá que o usuário salve o documento do Excel, mas, infelizmente, o arquivo temporário permanecerá.

Os possíveis comentadores podem pensar que CREATOR OWNER permissões, hardlinks ou compartilhamentos de rede podem ajudar nisso, mas não.

Ben N
fonte
Muito Obrigado! Vou tentar no meu trabalho na próxima segunda-feira. No meu caso, é o Windows 7, mas deve ser o mesmo. Descobri que, se o usuário não tivesse permissão para excluir o arquivo, o arquivo não poderia ser sobrescrito.
MithPaul
@MithPaul Acontece que o Excel torna as coisas mais difíceis do que eu esperava. (Eu só testei com um arquivo de texto.) Eu alterei a minha resposta, mas infelizmente não parece haver uma maneira de remover os arquivos temporários do Excel da bagunça do lugar.
Ben N