Defina permissões na pasta NTFS para controlar permissões no conteúdo de subpastas recém-criadas

0

Eu tenho a seguinte estrutura de pastas de exemplo:

 U:\One\Two\A
 U:\One\Two\B
 U:\One\Two\C
 U:\One\Two\D
 U:\One\Two\E

A pasta "Um" e "Dois" são configurados para usuários comuns apenas para ler, não modificá-los ou seu conteúdo. Pastas "A" - "E" têm direitos de leitura para si próprios e escrevem direitos aos seus conteúdos / subpastas.

O Windows permite definir permissões na pasta "Dois" para que as futuras subpastas criadas "F", "G" e assim por diante recebam as mesmas permissões que "A" - "E" agora? Se não, que outras soluções para alcançar este resultado existem?

    
por user66001 04.05.2017 / 21:58

2 respostas

1

Negar alterações em subpastas / arquivos imediatos, mas permitir a modificação de direitos ao conteúdo de subpastas

Você só precisa aplicar permissões especiais à pasta "Pai" de suas subpastas de A a E. No seu caso, a pasta Parent é a pasta Two .

Aplique estas permissões à pasta pai:

  • Usuários: Read & execute (This folder, subfolders and files)
  • Usuários: Modify (Subfolders and files only)
  • Usuários: DENY 'Delete' (Subfolders only) e ativar Apply these permissions to objects and/or containers within this container only

    Observação: substitua o grupo Users pela identidade específica à qual você deseja conceder acesso.

    Observação: você também precisará conceder aos administradores (ou a um usuário responsável por adicionar / excluir subpastas) permissões de controle total a essa pasta. Caso contrário, ninguém terá permissão para criar subpastas.

Permissões resultantes para o grupo "Usuários":

  • Não é possível criar, renomear ou excluir pastas ou arquivos imediatamente dentro da pasta pai
  • É possível criar, renomear, modificar e excluir pastas ou arquivos dentro das subpastas da pasta pai.

Permissões resultantes no seu caso:

U:\One\Two   <-- "Parent" folder
 - Users can read everything below this folder
 - Users cannot create, rename, or delete files or folders here

U:\One\Two\A (through E)   <--- "Subfolder" of Parent
 - Users can create, rename, modify, and delete files or subfolders here

Obviamente, uma vez que as permissões atribuídas à pasta Parent são herdadas, futuras pastas criadas na pasta Two receberão automaticamente o mesmo conjunto de permissões.

    
por 06.05.2017 / 03:21
0

Não, como declarado, F e G herdariam as permissões de One e Two ICACLS pode fazer o que quiser como um script - Anexei um arquivo CMD que usei há um tempo atrás para fazer isso toda vez que criei um diretório para um propósito -
Eu o modifiquei para usar grupos locais em vez de grupos de domínio e outras coisas, mas funciona - mas espero que isso ajude a explicar como usá-lo

SET DIR=TESTPERMS 
SET DOMAIN=%COMPUTERNAME%\ 
SET DOMAIN= 
SET
ROOTPATH=%TEMP%\
REM SET ROOTPATH=U:\One\Two\ REM SET DIR=A

REM Create the groups locally on the machine - I added for debug
NET LOCALGROUP FSP_%DIR%_MODIFY /ADD 
NET LOCALGROUP FSP_%DIR%_READ /ADD 
NET LOCALGROUP FSP_%DIR%_READexecute /ADD 
NET LOCALGROUP FSP_%DIR%_FULLCONTROL /ADD 
NET LOCALGROUP FSP_%DIR%_WRITE /ADD

REM Make the directory I'm about to modify  
md %ROOTPATH%%DIR% 
REM   Make sure I know who the owner is - so I can take  ownership
ICACLS %ROOTPATH%%DIR% /setowner %DOMAIN%FSP_%DIR%_FULLCONTROL /T 
REM Reset to a known state inherited and nothing else
ICACLS %ROOTPATH%%DIR% /T /reset 
REM remove inheritance - but copy so we don't lose access 
ICACLS %ROOTPATH%%DIR% /inheritance:r

REM Give the rights to the Groups The last () is the rights being granted
ICACLS %ROOTPATH%%DIR% /GRANT:R %DOMAIN%FSP_%DIR%_MODIFY:(OI)(CI)(M)
ICACLS %ROOTPATH%%DIR% /GRANT:R %DOMAIN%FSP_%DIR%_READ:(OI)(CI)(R)
ICACLS %ROOTPATH%%DIR% /GRANT:R %DOMAIN%FSP_%DIR%_READexecute:(OI)(CI)(RX)
ICACLS %ROOTPATH%%DIR% /GRANT:R %DOMAIN%FSP_%DIR%_FULLCONTROL:(OI)(CI)(F)
ICACLS %ROOTPATH%%DIR% /GRANT:R %DOMAIN%FSP_%DIR%_WRITE:(OI)(CI)(W)

REM Remove rights from everyone else 
ICACLS %ROOTPATH%%DIR% /REMOVE:g "Authenticated Users"
ICACLS %ROOTPATH%%DIR% /REMOVE:g Everyone
ICACLS %ROOTPATH%%DIR% /REMOVE:g SYSTEM
ICACLS %ROOTPATH%%DIR% /REMOVE:g BUILTIN\Users
REM Show me what I've done 
ICACLS %ROOTPATH%%DIR% /T 
REM Now remove my self - If I am sure everything is ok
PAUSE
ICACLS %ROOTPATH%%DIR% /REMOVE:g BUILTIN\Administrators
    
por 05.05.2017 / 02:33