Permitir que o usuário adicione arquivos a uma pasta, sem permitir que eles alterem arquivos quando estiverem na pasta?

0

Eu quero algo semelhante ao seguinte:

Existe uma pasta, vamos chamá-la de 'Parent'.

Eu quero que as pessoas possam adicionar arquivos ao Parent, mas eu não quero que eles possam visualizar / ler / gravar arquivos que estão no pai.

Exemplo:

O usuário tem um arquivo zip. Eles são capazes de colocar esse arquivo zip no pai. No entanto, eles não podem visualizar, ler nem gravar nenhum arquivo que já esteja no pai. Além disso, uma vez que eles movem o arquivo zip para o Parent, esse arquivo também está inacessível para eles.

Gostaria de saber se isso é possível dentro do Windows, sem precisar fazer nada demais . Eu poderia conseguir isso permitindo que o usuário tivesse acesso de leitura / gravação ao Parent, mas removendo todos eles de todos os privilégios para os arquivos dentro do Parent. A única questão real é como faço isso automaticamente.

    
por RJGordon 02.11.2015 / 18:09

1 resposta

2

Execute cmd como administrador e execute o comando

icacls "...\Parent" /grant UserOrGroup:(OI)(CI)(S,WD)

UserOrGroup - nome do usuário ou do grupo

(OI)(CI) significa - esta pasta, subpastas e arquivos.

(S,WD) significa - somente Sincronizar + gravar dados / adicionar arquivo.

Mas se houver um arquivo, digamos f1.txt , na pasta Parent e um usuário tentar copiar outro arquivo com o mesmo nome ( f1.txt ) o sistema mostrará uma mensagem de aviso como "Você deve ter permissões ... para copiar para esta pasta ". Assim, um usuário pode detectar que o arquivo f1.txt existe na pasta Parent .

Atualizar

O script

rem  Create a folder
md "Parent"

rem  Disable ACL inheritance
icacls "Parent" /inheritance:d

rem  Remove all default permissions for Username
icacls "Parent" /remove:g Username

rem  Grant restricted permissions for Username
icacls "Parent" /grant Username:(OI)(CI)(S,WD)
    
por 02.11.2015 / 19:16