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 SettingsSecurity 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.