Crie uma pasta compartilhada no Windows Server, configure permissões NTFS por grupo com icacls, restrinja o SMB à rede interna e desative o SMBv1.
Para que serve
Este artigo mostra como criar uma pasta compartilhada no Windows Server e usar permissões NTFS para controlar quem lê e quem altera os arquivos, evitando os dois erros mais comuns: dar "Controle total para Todos" e expor o compartilhamento (porta 445) à internet.
Permissões de compartilhamento e permissões NTFS: como se combinam
Existem duas camadas independentes:
- Permissões de compartilhamento: valem só para quem acessa pela rede (
\\servidor\pasta). São três opções simples: Leitura, Alteração e Controle total. - Permissões NTFS: valem sempre, inclusive para quem está logado no próprio servidor (por exemplo, usuários de RDS). São detalhadas e herdadas pelas subpastas.
Quando alguém acessa pela rede, vale a mais restritiva das duas. A prática recomendada é deixar o compartilhamento aberto para usuários autenticados e controlar tudo pelo NTFS, em um só lugar.
Pré-requisitos
- Windows Server 2022/2025 com acesso de administrador.
- Usuários e grupos criados, locais ou do Active Directory. Dê permissão a grupos, nunca a usuários individuais.
- Um volume separado para dados (por exemplo
D:), e não o disco do sistema. - Os usuários acessando de dentro da sua rede: VMs na mesma rede, VPN ou o próprio servidor RDS.
Passo a passo
1. Criar os grupos
Exemplo com grupos locais (em domínio, use New-ADGroup):
New-LocalGroup -Name "Financeiro-Leitura"
New-LocalGroup -Name "Financeiro-Edicao"
Add-LocalGroupMember -Group "Financeiro-Edicao" -Member "maria"
Add-LocalGroupMember -Group "Financeiro-Leitura" -Member "joao"
2. Criar a pasta e definir as permissões NTFS
New-Item -Path "D:\Dados\Financeiro" -ItemType Directory
# Remove a herança e começa do zero
icacls "D:\Dados\Financeiro" /inheritance:r
# Administradores e SYSTEM com controle total
icacls "D:\Dados\Financeiro" /grant "*S-1-5-32-544:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F"
# Grupo de edição pode modificar; grupo de leitura só lê
icacls "D:\Dados\Financeiro" /grant "Financeiro-Edicao:(OI)(CI)M"
icacls "D:\Dados\Financeiro" /grant "Financeiro-Leitura:(OI)(CI)RX"
O que significa cada parte:
(OI)(CI): a permissão vale para os arquivos e as subpastas.F= controle total,M= modificar (criar, alterar, apagar),RX= ler e executar.*S-1-5-32-544e*S-1-5-18são os identificadores fixos de Administradores e SYSTEM. Assim o comando funciona em Windows em qualquer idioma.
Evite dar F a usuários comuns: com controle total, eles podem alterar as permissões e tomar posse dos arquivos.
3. Criar o compartilhamento
Os nomes dos grupos internos mudam conforme o idioma do Windows, por isso o script primeiro obtém o nome correto a partir do identificador fixo:
$adm = ([Security.Principal.SecurityIdentifier]'S-1-5-32-544').Translate([Security.Principal.NTAccount]).Value
$auth = ([Security.Principal.SecurityIdentifier]'S-1-5-11').Translate([Security.Principal.NTAccount]).Value
New-SmbShare -Name "Financeiro" -Path "D:\Dados\Financeiro" `
-FullAccess $adm -ChangeAccess $auth `
-FolderEnumerationMode AccessBased -EncryptData $true
S-1-5-11é o grupo "Usuários Autenticados". O controle fino fica por conta do NTFS.-FolderEnumerationMode AccessBasedesconde pastas que o usuário não tem permissão para abrir.-EncryptData $truecriptografa o tráfego SMB. Clientes Windows 8/Server 2012 ou mais novos suportam.
4. Liberar o acesso só para a rede interna
Restrinja as regras de compartilhamento de arquivos à sua rede interna ou à faixa da VPN:
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28502" | Set-NetFirewallRule -RemoteAddress 10.10.10.0/24,10.8.0.0/24
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28502" | Enable-NetFirewallRule
5. Confirmar que o SMBv1 está desligado
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, EnableSMB2Protocol
O resultado esperado é False para SMB1. Se aparecer True, desative com Set-SmbServerConfiguration -EnableSMB1Protocol $false.
Como saber se funcionou
Get-SmbShare -Name Financeiro
Get-SmbShareAccess -Name Financeiro
icacls "D:\Dados\Financeiro"
De outra máquina da rede, mapeie a pasta com um usuário de cada grupo:
net use F: \\10.10.10.20\Financeiro /user:SERVIDOR\joao
O "joao" deve abrir os arquivos, mas receber "Acesso negado" ao tentar salvar. A "maria" deve conseguir criar e alterar.
Para ver quem está com arquivos abertos agora: Get-SmbOpenFile e Get-SmbSession.
Problemas comuns
- "Acesso negado" mesmo com a permissão dada: lembre que vale a mais restritiva entre compartilhamento e NTFS. Além disso, o usuário precisa fazer logoff e logon (ou reconectar o mapeamento) para que a mudança de grupo tenha efeito.
- Usuário apagou o que não devia: troque
Mpor permissões mais específicas e ative as Cópias de Sombra (Shadow Copies) no volume para recuperar versões anteriores pela aba "Versões anteriores". As cópias de sombra não substituem o backup. - Não acha o servidor pelo nome: use o IP ou garanta que o DNS (ou o AD) resolva o nome.
- Muito lento por VPN: SMB sofre com latência alta. Para quem está longe, considere acessar os arquivos por dentro de uma sessão RDS.
- Erro ao usar credenciais diferentes no mesmo servidor: o Windows não permite duas credenciais para o mesmo host ao mesmo tempo. Desconecte todos os mapeamentos com
net use * /deletee tente de novo.
Para aplicar o mesmo princípio a contas de serviço e administradores, veja também o artigo «Privilégio mínimo: como criar contas de serviço e permissões seguras no Linux, Proxmox e Windows».
Perguntas frequentes
Qual a diferença entre permissão de compartilhamento e permissão NTFS?
A de compartilhamento só vale para acessos pela rede; a NTFS vale sempre, inclusive para quem está logado no servidor. Pela rede, prevalece a mais restritiva das duas.
Posso liberar a porta 445 para acessar os arquivos pela internet?
Não. A porta 445 é varrida o tempo todo e é usada em ataques como o do WannaCry. Usuários externos devem acessar por VPN ou por uma sessão RDS.
Como ver quem está com um arquivo aberto no servidor?
Use Get-SmbOpenFile para listar os arquivos abertos e Get-SmbSession para ver as sessões conectadas.
Por que o usuário continua sem acesso depois de entrar no grupo?
A participação em grupos só é atualizada em um novo logon. Peça para o usuário sair e entrar de novo, ou reconectar o mapeamento da unidade.
Leitura complementar
Precisa de ajuda? Abra um ticket na área do cliente ou fale com o suporte pelo WhatsApp.
