Autorizzazione a creare collegamenti simbolici in Windows 7?


60

Come posso concedere a un determinato utente l'autorizzazione a creare collegamenti simbolici in Windows 7?

Ho cercato in "Criteri di gruppo" e Google, ma non ho trovato nulla.

In una nota a margine, c'è un modo per cercare tutto in Editor criteri di gruppo? I filtri sembrano funzionare solo su sottotitoli particolari. In realtà non ho mai trovato nulla usando i filtri.


2
A proposito Qualcuno sa perché la creazione di collegamenti simbolici richiede autorizzazioni di amministratore? Cosa c'è di così pericoloso in loro?
— Monsignor

1
@Monsignor: Ho visto molto tempo fa che Microsoft sosteneva che troppi programmi non potevano gestirli in modo sicuro. Ad ogni modo, sono piuttosto seccato dal fatto che richiedano l'elevazione per l'uso.
— Giosuè,

Risposte:


64
  1. Apri l' Editor criteri di gruppo locali : Run> gpedit.msc. Se il problema secpol.mscpersiste, provare ( gli utenti di Windows Home potrebbero prima abilitare l'editor di criteri di gruppo ).

  2. Vai a (gli utenti di Windows Pro potrebbero non vedere i primi due elementi):

    Computer configuration → Windows Settings→ Security Settings → Local Policies → User Rights Assignmente modifica il Create symbolic links.

    inserisci qui la descrizione dell'immagine

  3. Aggiungi l'utente o il gruppo che desideri consentire per creare collegamenti simbolici.

  4. Se hai aggiunto il tuo account utente, devi disconnetterti e riconnetterti affinché la modifica abbia effetto.

Nota : questa impostazione non ha alcun effetto sugli account utente che appartengono al gruppo Amministratori. Tali utenti dovranno sempre correre mklinkin un ambiente elevato (come amministratore) a causa del modo in cui UAC rimuove i privilegi durante la creazione di un token di accesso non elevato . Esiste un pratico foglio di riferimento Excel per trovare le impostazioni dei criteri di gruppo: Riferimento alle impostazioni dei criteri di gruppo per Windows e Windows Server


13
Qui sembrava più simile al seguente, solo per riferimento se qualcuno si confonde: Pannello di controllo> Strumenti di amministrazione> Criteri di sicurezza locali> Politiche locali> Assegnazione diritti utente> Crea collegamenti simbolici E dal modo in cui è necessario disconnettersi e accedere nuovamente per le impostazioni applicare.
— Seldaek,

5
E puoi eseguire secpol.msc per saltare la prima parte, quindi tutto ciò che ti rimane è: Politiche locali> Assegnazione diritti utente> Crea collegamenti simbolici
— Seldaek,

5
Inoltre: l'esecuzione di "gpupdate / force" da CMD o solo dalla finestra di dialogo Esegui dovrebbe applicare anche l'impostazione.
— Tobias Plutat,

1
Un modo per fare lo stesso tramite il registro per gli utenti di Microsoft-odiato-non-Windows-8-Pro? gpedit.msc non è disponibile per loro
— szx

4
ri - "Questi utenti dovranno sempre eseguire mklink in un ambiente elevato (come amministratore)" ... quindi gli amministratori dovranno sempre eseguire con elevato ... arg.
— Trevor Boyd Smith,

0

Mancano alcune configurazioni di Windows gpedit.msc. In questo caso puoi provare in alternativa:

  1. eseguendo questo script PowerShell da qui :
    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. scarica polsedit che sembra un'alternativa freeware a gpedit.msc

Quindi eseguire gpupdate /forceper applicare immediatamente le modifiche


1
Oltre a dare la fonte. si prega di aggiungere lo script nel caso in cui la fonte non sia più presente.
— miroxlav,

Windows Starter Edition, Home e Home Premium non includono gpedit.msc. Le istruzioni per installarlo sono nella mia domanda e risposta Windows Starter Edition, Home e Home Premium non includono gpedit, come posso installarlo?
— DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.