Permissão para criar links simbólicos no Windows 7?

58

Como posso conceder a um usuário específico a permissão para criar links simbólicos no Windows 7?

Eu pesquisei por "Política de grupo" e pelo Google, mas não encontrei nada.

Em uma nota lateral, existe uma maneira de pesquisar tudo no Editor de Diretiva de Grupo? Os filtros parecem funcionar apenas em subárvores específicas. Eu nunca encontrei nada usando os filtros.

    
por KarolDepka 04.02.2010 / 20:28

2 respostas

61

  1. Abra o Editor de políticas de grupo local : Run > gpedit.msc . Se isso não funcionar, tente secpol.msc (Nota: os usuários do Windows Home podem precisar habilitar primeiro o editor de políticas de grupo .

  2. Ir para (os usuários do Windows Pro podem não ver os dois primeiros itens):

    Computer configuration → Windows Settings Security Settings → Local Policies → User Rights Assignment e edite o Create symbolic links .

  3. Adicioneousuárioougrupoquevocêdesejapermitirparacriarlinkssimbólicos.

  4. Sevocêadicionousuaprópriacontadeusuário,precisaráfazerlogoutefazerloginnovamenteparaqueaalteraçãotenhaefeito.

Observação:essaconfiguraçãonãotemefeitonascontasdeusuárioquepertencemaogrupoAdministradores.Essesusuáriossempreprecisamexecutarmklinkemumambienteelevado(comoAdministrador) devido ao modo como o UAC remove privilégios ao criar um token de acesso não elevado . Há uma folha de referência prática do Excel para encontrar configurações de diretiva de grupo: Referência de configurações de diretiva de grupo para Windows e Windows Server

    
por 05.02.2010 / 23:51
0

Algumas configurações do Windows perdem gpedit.msc . Nesse caso, você pode tentar como alternativa:

  1. executando este script do PowerShell aqui :
    function addSymLinkPermissions($accountToAdd){
        Write-Host "Checking SymLink permissions.."
        $sidstr = $null
        try {
            $ntprincipal = new-object System.Security.Principal.NTAccount "$accountToAdd"
            $sid = $ntprincipal.Translate([System.Security.Principal.SecurityIdentifier])
            $sidstr = $sid.Value.ToString()
        } catch {
            $sidstr = $null
        }
        Write-Host "Account: $($accountToAdd)" -ForegroundColor DarkCyan
        if( [string]::IsNullOrEmpty($sidstr) ) {
            Write-Host "Account not found!" -ForegroundColor Red
            exit -1
        }
        Write-Host "Account SID: $($sidstr)" -ForegroundColor DarkCyan
        $tmp = [System.IO.Path]::GetTempFileName()
        Write-Host "Export current Local Security Policy" -ForegroundColor DarkCyan
        secedit.exe /export /cfg "$($tmp)" 
        $c = Get-Content -Path $tmp 
        $currentSetting = ""
        foreach($s in $c) {
            if( $s -like "SECreateSymbolicLinkPrivilege*") {
                $x = $s.split("=",[System.StringSplitOptions]::RemoveEmptyEntries)
                $currentSetting = $x[1].Trim()
            }
        }
        if( $currentSetting -notlike "*$($sidstr)*" ) {
            Write-Host "Need to add permissions to SymLink" -ForegroundColor Yellow

            Write-Host "Modify Setting ""Create SymLink""" -ForegroundColor DarkCyan

            if( [string]::IsNullOrEmpty($currentSetting) ) {
                $currentSetting = "*$($sidstr)"
            } else {
                $currentSetting = "*$($sidstr),$($currentSetting)"
            }
            Write-Host "$currentSetting"
        $outfile = @"
    [Unicode]
    Unicode=yes
    [Version]
    signature="'$CHICAGO'$"
    Revision=1
    [Privilege Rights]
    SECreateSymbolicLinkPrivilege = $($currentSetting)
    "@
        $tmp2 = [System.IO.Path]::GetTempFileName()
            Write-Host "Import new settings to Local Security Policy" -ForegroundColor DarkCyan
            $outfile | Set-Content -Path $tmp2 -Encoding Unicode -Force
            Push-Location (Split-Path $tmp2)
            try {
                secedit.exe /configure /db "secedit.sdb" /cfg "$($tmp2)" /areas USER_RIGHTS 
            } finally { 
                Pop-Location
            }
        } else {
            Write-Host "NO ACTIONS REQUIRED! Account already in ""Create SymLink""" -ForegroundColor DarkCyan
            Write-Host "Account $accountToAdd already has permissions to SymLink" -ForegroundColor Green
            return $true;
        }
    }
  1. faça o download do polsedit que se parece com uma alternativa gratuita ao gpedit.msc

Em seguida, execute gpupdate /force para aplicar as alterações imediatamente

    
por 09.02.2017 / 16:24