icacls (win2k8) exemplos de scripts
> Após cacls, xcacls.vbs, agora temos icacls para definir as permissões de arquivo e pasta.
>
Aqui estão alguns exemplos práticos.
>
>
Criar um monte de diretórios
md d:\appsmd d:\profilesmd d:\users
>
>
Partilhar os diretórios. Note o cache offline; os usuários podem habilitar o cache offline para seus homedirs, outros diretórios são desabilitados para o cache offline.
net share apps=d:\apps /grant:everyone,FULL /CACHE:Nonenet share profiles=d:\profiles /grant:everyone,FULL /CACHE:Nonenet share users=d:\users /grant:everyone,FULL /CACHE:Manual
Agora vamos scriptar as permissões ntfs para o compartilhamento de aplicativos:
– “(OI)(CI):F” significa Full Control “This Folder, Subfolders and files”
– “(OI)(CI):M” significa Modificar “This Folder, Subfolders and files”
– “/inheritance:r” significa remover todas as ACL’s herdadas dos pais
(OI) This folder and files
(CI) This folder and subfolders.
(OI)(CI) Esta pasta, subpastas e arquivos.
(OI)(CI)(IO) Apenas subpastas e arquivos.
(CI)(IO) Apenas subpastas.
(OI)(IO) Apenas arquivos.
e as possibilidades de permissão
perm é uma máscara de permissão e pode ser especificada em uma das duas formas:
uma sequência de direitos simples:
N – sem acesso
F – acesso completo
M – modificar acesso
RX – ler e executar acesso
R – acesso só leitura
W – acesso só escrita
D – apagar acesso
a lista separada por vírgulas entre parênteses de direitos específicos:
DE – delete
RC – read control
WDAC – write DAC
WO – write owner
S – synchronize
AS – access system security
MA – maximum allowed
GR – generic read
GW – generic write
GE – generic execute
GA – generic all
RD – read data/list directory
WD – write data/add file
AD – append data/add subdirectory
REA – read extended attributes
WEA – write extended attributes
X – execute/traverse
DC – delete child
RA – read attributes
WA – atributos de escrita
>
Sai a descrição de todas as permissões NTFS possíveis
>
Permissões | Descrição |
---|---|
>
Pasta transversal/arquivo exato |
Para pastas: Pasta Transversal permite ou nega mover-se através de pastas para alcançar outros arquivos ou pastas, mesmo que o usuário não tenha permissões para as pastas atravessadas. (Aplica-se somente a pastas.) A pasta transversal só tem efeito quando o grupo ou usuário não tem a permissão de verificar a travessia Bypass no snap-in da Política de grupo. (Por padrão, o grupo Todos recebe o usuário com o direito de verificação de Bypass traverse.) Para arquivos: Execute File permite ou nega a execução de arquivos de programa. (Aplica-se apenas a arquivos). Configurar a permissão da Pasta Transversal em uma pasta não define automaticamente a permissão do Execute File em todos os arquivos dentro dessa pasta. |
List Folder/Read Data |
List Folder permite ou nega a visualização de nomes de arquivos e nomes de subpasta dentro da pasta. Listar Pasta apenas afecta o conteúdo dessa pasta e não afecta se a pasta em que está a definir a permissão será listada. (Aplica-se apenas a pastas.) Ler Dados permite ou nega a visualização de dados em arquivos. (Aplica-se apenas a ficheiros.) |
Ler Atributos |
Permite ou nega a visualização dos atributos de um ficheiro ou pasta, tais como apenas leitura e ocultos. Os atributos são definidos por NTFS. |
Ler atributos estendidos |
Permite ou nega a visualização dos atributos estendidos de um ficheiro ou pasta. Os atributos estendidos são definidos por programas e podem variar por programa. |
Criar Arquivos/Gravar Dados |
Criar Arquivos permite ou nega a criação de arquivos dentro da pasta. (Aplica-se somente a pastas). Criar Dados permite ou nega fazer alterações no arquivo e sobrescrever o conteúdo existente. (Aplica-se somente a arquivos.) |
Criar Pastas/Aplicar Dados |
Criar Pastas permite ou nega a criação de pastas dentro da pasta. (Aplica-se somente a pastas.) Apend Data permite ou nega fazer alterações no final do arquivo mas não alterar, apagar ou sobrescrever os dados existentes. (Aplica-se apenas a arquivos.) |
Escrever Atributos |
Permite ou nega alterar os atributos de um arquivo ou pasta, tais como somente leitura ou oculto. Os atributos são definidos por NTFS. A permissão Write Attributes não implica a criação ou eliminação de ficheiros ou pastas, apenas inclui a permissão para fazer alterações aos atributos de um ficheiro ou pasta. Para permitir (ou negar) criar ou excluir operações, consulte Criar arquivos/escrever dados, Criar pastas/apagar dados, Excluir subpastas e arquivos e Excluir. |
Escrever atributos alargados |
Permite ou nega alterar os atributos alargados de um ficheiro ou pasta. Os atributos estendidos são definidos por programas e podem variar por programa. A permissão Write Extended Attributes não implica a criação ou exclusão de arquivos ou pastas, inclui apenas a permissão para fazer alterações nos atributos de um arquivo ou pasta. Para permitir (ou negar) criar ou excluir operações, consulte Criar Arquivos/Gravar Dados, Criar Pastas/Apagar Dados, Excluir Subpastas e Arquivos e Excluir. |
Apagar Subpastas e Ficheiros |
Permite ou nega a eliminação de subpastas e ficheiros, mesmo que a permissão de Eliminar não tenha sido concedida na subpasta ou ficheiro. (Aplica-se a pastas.) |
Eliminar |
Permite ou nega a eliminação do ficheiro ou pasta. Se você não tiver permissão para Excluir um arquivo ou pasta, você ainda pode excluí-lo se tiver sido concedido Excluir Subpastas e Arquivos na pasta pai. |
Permissões de Leitura |
Permite ou nega permissões de leitura do arquivo ou pasta, tais como Controle Total, Leitura e Gravação. |
Alterar Permissões |
Permite ou nega a alteração das permissões do ficheiro ou pasta, como Controlo Total, Leitura e Escrita. |
Assumir a Propriedade |
Permite ou nega assumir a propriedade do ficheiro ou pasta. O proprietário de um ficheiro ou pasta pode sempre alterar as permissões do mesmo, independentemente de quaisquer permissões existentes que protejam o ficheiro ou pasta. |
Sincronizar |
Permite ou nega diferentes threads para esperar no cabo pelo ficheiro ou pasta e sincronizar com outra thread que possa sinalizá-lo. Esta permissão aplica-se apenas a programas multithreaded, multiprocessados. |
Example:
icacls "d:\apps" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\apps" /grant "everyone":(OI)(CI)M /inheritance:r
Na partilha de perfis, apenas os “administradores de domínio” devem ter permissão para entrar em todas as “Pastas, Subpastas e ficheiros” (daí o (OI)(CI):F) , todos os outros devem ser capazes de preparar “apenas esta pasta”.
Então sem uma combinação de (CI) e/ou (OI) significa “somente esta pasta”
icacls "d:\profiles" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\profiles" /grant "everyone":R /inheritance:r
Upon criando um novo usuário, o Admin do Domínio deve criar manualmente uma pasta de perfil para o usuário e adicionar o usuário com os direitos apropriados.
>
O mesmo vale para o compartilhamento de usuários contendo os diretórios home de todos os usuários
icacls "d:\users" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\users" /grant "everyone":R /inheritance:r
>
Agora use sua própria imaginação 🙂