Como gerir os ACLs do sistema de Ficheiros com programas PowerShell

tipos de permissões NTFS para ficheiros e pastas

Existem ambas as permissões básicas e avançadas do NTFS. Você pode definir cada uma das permissões para “permitir”ou ” negar”. Aqui estão as permissões básicas:

  • controlo completo: os utilizadores podem modificar, adicionar, mover e apagar ficheiros e directórios, bem como as suas propriedades associadas. Além disso, os usuários podem alterar as configurações de permissões para todos os arquivos e subdiretórios.
  • modificar: Os usuários podem visualizar e modificar arquivos e propriedades do arquivo, incluindo Apagar e adicionar arquivos a um diretório ou propriedades do arquivo a um arquivo.
  • ler & executar: os utilizadores podem executar ficheiros executáveis, incluindo script
  • ler: os utilizadores podem ver ficheiros, propriedades dos ficheiros e directórios.
  • Write: os utilizadores podem escrever num ficheiro e adicionar ficheiros a directórios.

Aqui está a lista de permissões avançadas:

  • pasta transversal/ficheiro de execução: Os usuários podem navegar através de pastas para alcançar outros arquivos ou pastas, mesmo que eles não tenham permissões para esses arquivos ou pastas. Os usuários também podem executar arquivos executáveis. A permissão da pasta transversal faz efeito apenas quando o grupo ou usuário não tem a “verificação transversal Bypass” direita na política de grupo snap-in.
  • Listar Pasta/Ler Dados: os Usuários podem ver uma lista de arquivos e subpastas dentro da pasta, bem como o conteúdo dos arquivos.
  • atributos de leitura: Os utilizadores podem ver os atributos de um ficheiro ou pasta, por exemplo, se é apenas para leitura ou escondido.
  • Write Attributes: Users can change the attributes of a file or folder.
  • ler atributos extendidos: os utilizadores podem ver os atributos extendidos de um ficheiro ou pasta, tais como permissões e tempos de criação e modificação.
  • Write Extended Attributes: Users can change the extended attributes of a file or folder.
  • cria ficheiros/ Escreve dados: a permissão” criar ficheiros ” permite aos utilizadores criar ficheiros dentro da pasta. (Esta permissão aplica-se apenas a pastas.) A permissão “Write Data” permite aos usuários fazer alterações no arquivo e sobrepor o conteúdo existente. (Esta permissão se aplica apenas aos arquivos.)
  • Criar pastas/ Adicionar Dados: a permissão de” criar pastas ” permite aos utilizadores criar pastas dentro de uma pasta. (Esta permissão aplica-se apenas a pastas. A permissão “Adicionar Dados” permite que os usuários façam alterações no final do arquivo, mas eles não podem alterar, excluir ou sobrepor dados existentes. (Esta permissão se aplica apenas aos arquivos.)
  • Delete: os utilizadores podem apagar o ficheiro ou pasta. (Se os usuários não têm a permissão “Delete” em um arquivo ou pasta, eles ainda podem excluí-lo se eles têm a permissão “Delete subpastas e arquivos” na pasta-mãe.)
  • Permissões de leitura: Os usuários podem ler as permissões de um arquivo ou pasta, como “controle completo”, “leitura” e “escrita”.
  • altera as permissões: os utilizadores podem alterar as permissões de um ficheiro ou pasta.
  • assume a propriedade: os utilizadores podem assumir a propriedade do ficheiro ou pasta. O dono de um arquivo ou pasta pode sempre alterar as permissões nele, independentemente de quaisquer permissões existentes que protejam o arquivo ou pasta.
  • sincronização: os utilizadores podem usar o objecto para a sincronização. Isto permite que um tópico espere até que o objeto esteja no estado sinalizado. Este direito não é apresentado no Editor ACL. Você pode ler mais sobre isso aqui.

você pode encontrar todas essas permissões de usuário executando o seguinte script PowerShell:

::getnames()

NTFS permissões podem ser explícitas ou herdadas. Permissões explícitas são permissões que são configuradas individualmente, enquanto permissões herdadas são herdadas da pasta pai. A hierarquia de permissões é o seguinte:

  • Negar Explícita
  • Permitir Explícita
  • de Negação Herdadas
  • Herdadas de Permitir a

Agora que sabemos que as permissões de NTFS são, vamos explorar como geri-los.

obter ACL para os ficheiros e pastas

a primeira ‘PowerShell cmdlet’ usada para gerir as permissões de ficheiros e pastas é “get-acl”; lista todas as permissões de objectos. Por exemplo, vamos obter a lista de todas as permissões para a pasta com o caminho do objeto “\\fs1\shared\vendas”:

get-acl \\fs1\shared\sales | fl

Se você deseja obter um total de permissões de NTFS relatório através do PowerShell, você pode seguir este fácil como sobre a exportação de permissões de NTFS para CSV.

copiar as permissões de ficheiros e pastas

para copiar as permissões, o utilizador deve possuir as pastas de origem e de destino. O seguinte comando irá copiar as permissões da pasta “Contabilidade” para a pasta” vendas”:

get-acl \\fs1\shared\accounting | Set-Acl \\fs1\shared\sales

Como podemos ver a partir da saída dos comandos “get-acl” antes e depois da cópia das permissões, as permissões de pastas partilhadas “vendas” foram alteradas.

define as permissões de ficheiros e pastas

a PowerShell “set-acl” cmdlet é usada para alterar o descritor de segurança de um item especificado, como um ficheiro, pasta ou uma chave de registo; por outras palavras, é usada para modificar as permissões de ficheiros ou pastas. O seguinte script define a permissão “FullControl” para “Permitir” para o usuário “ENTERPRISE\T.Simpson” para a pasta “Vendas”:

Se você deseja definir permissões a usuários ou grupos de segurança, seleccione-os a partir da tabela abaixo:

Há também conjuntos de permissões de direitos de acesso básicos que podem ser aplicados:

Remover Permissões de Utilizador

Para remover uma permissão de usar o “RemoveAccessRule” parâmetro. Vamos apagar a permissão” Allow FullControl “para T. Simpson para a pasta “vendas”:

Notice that T.O Simpson ainda tem a permissão de “negar o controlo total”. Para removê-lo, vamos usar o comando “PurgeAccessRules”, que irá limpar completamente T. Simpson permissões para a “Venda” da pasta:

Nota que “PurgeAccessRules” não funciona com uma seqüência de caracteres de nome de usuário; ele só funciona com Sid. Portanto, nós usamos a classe” Ntaccount ” para converter o nome da conta de usuário de uma string em um SID. Note também que” PurgeAccessRules ” funciona apenas com permissões explícitas; não purga as herdadas.

desactivar ou activar a herança de permissões

para gerir a herança, usamos o método “SetAccessRuleProtection”. Tem dois parâmetros:

  • o primeiro parâmetro é responsável pelo bloqueio da herança da pasta-mãe. Tem dois estados: “$true”e” $false”.
  • o segundo parâmetro determina se as permissões herdadas atuais são retidas ou removidas. Tem os mesmos dois estados: “$true”e” $false”.

vamos desactivar a herança para a pasta “vendas” e remover todas as permissões herdadas também:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($true,$false)$acl | Set-Acl \\fs1\shared\sales

Agora temos apenas uma permissão de acesso (porque foi adicionada explicitamente); todas as permissões herdadas foram removidas.

Vamos reverter essa alteração e ativar a herança para a pasta “Vendas” de novo:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($false,$true)$acl | Set-Acl \\fs1\shared\sales

Alteração de Arquivo e de Pasta de Propriedade

Se você deseja definir um proprietário de uma pasta, você precisa executar o “SetOwner” método. Vamos fazer da “ENTERPRISE\J. Carter” o dono da pasta “vendas”:

Notice that we again used the “Ntaccount” class to convert the user account name from a string into a SID.

Note que o método ” SetOwner “não lhe permite mudar o dono para qualquer conta que deseje; a conta deve ter os direitos” Take Ownership”,” Read “e” Change Permissions”.

Como pode ver, é muito fácil gerir as permissões do NTFS com o PowerShell. Mas não se esqueça de auditar as permissões NTFS também-é fundamental para a segurança rastrear todas as alterações feitas em seus servidores de arquivos, a fim de reduzir a fuga de dados e combater a ameaça de informação privilegiada e outros riscos de segurança de TI. Aqui está um guia básico sobre como auditar as permissões do NTFS com o PowerShell.

Jeff é um diretor de Engenharia de Soluções Globais em Netwrix. Ele é um blogueiro, palestrante e apresentador de longa data da Netwrix. No Blog Netwrix, Jeff compartilha lifehacks, dicas e truques que podem melhorar drasticamente sua experiência de administração do sistema.

Deixe uma resposta

O seu endereço de email não será publicado.