Você viu icacls.exe
e cacls.exe
? (ambos na pasta System32
, pelo menos no Win7)
Pode ser feito sem baixar ? subinacl.exe
Pergunta antiga, mas recentemente precisei fazer isso para vários compartilhamentos residenciais a fim de restringir o "Controle total". Enquanto você poderia fazer isso no nível NTFS, leva tempo para aplicar recursivamente, tempo para reverter e ferramentas como o MMC ADUC pode colocar as permissões de volta.
Parece não haver uma ferramenta de linha de comando para gerenciar permissões em compartilhamentos existentes, apenas durante a configuração inicial, mas você pode fazer várias concessões, portanto, se os compartilhamentos ficarem off-line por um momento, isso não é um problema. use:
NET SHARE example /DELETE /Y
NET SHARE example=C:\FolderPath /GRANT:Everyone,Change /GRANT:Administrators,Full /UNLIMITED /CACHE:None
Mas isso não era uma opção para mim, então acabei usando a excelente ferramenta 'SetACL.exe' que também tem uma opção para direcionar nomes de compartilhamento.
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-1-0;p:change"
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-5-32-544;p:full"
Observe que isso está usando o 'Well-known SID' para todos (S-1-1-0) e os administradores locais (S-1-5-32-544). Você pode usar o nome, mas evita pesquisas e qualquer chance de ser confundido com um grupo de domínio.
Para eficiência, várias alterações podem ser mescladas em um único comando:
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-1-0;p:change" -ace "n:S-1-5-32-544;p:full"
Observe que o comando SetACL tem como alvo o SHARE NAME e não o caminho da pasta do compartilhamento, que normalmente é usado para permissões de NTFS.
Talvez no Windows 2003. Ainda não tentei ...
net share /grant
Edite, depois de comentar, de uma máquina Win 7 x64.
Observe o [/GRANT:user,[READ | CHANGE | FULL]]
C:\Users\gbn>net share /?
The syntax of this command is:
NET SHARE
sharename
sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
[/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents| Programs | BranchCach
e | None]
sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents | Programs | BranchCache | None]
{sharename | devicename | drive:path} /DELETE
sharename \computername /DELETE
C:\Users\gbn>