Дозвіл на створення символічних посилань у Windows 7?


59

Як я можу надати конкретному користувачеві дозвіл на створення символьних посилань у Windows 7?

Я шукав "Групову політику" та Google, але нічого не знайшов.

Зі сторони, чи є спосіб пошуку в усьому редакторі групової політики? Фільтри, здається, працюють лише на певних підрядках. Я ніколи насправді нічого не знаходив за допомогою фільтрів.


2
BTW Хто-небудь знає, чому для створення символьних посилань потрібні дозволи адміністратора? Що в них такого небезпечного?
Монсеньйор

1
@Monsignor: Давно я бачив, що Microsoft стверджує, що занадто багато програм не може їх безпечно обробити. У всякому разі, я дуже роздратований тим, що для використання вони потребують піднесення.
Джошуа

Відповіді:


63
  1. Відкрийте Редактор локальної групової політики : Run> gpedit.msc. Якщо це не працює, спробуйте secpol.msc(Примітка. Користувачам Windows Home потрібно спочатку ввімкнути редактор групових політик ).

  2. Перейдіть на сторінку (користувачі Windows Pro можуть не побачити перші два елементи):

    Computer configuration → Windows SettingsSecurity Settings → Local Policies → User Rights Assignmentта відредагуйте Create symbolic links.

    введіть тут опис зображення

  3. Додайте користувача або групу, якій ви хочете дозволити створювати символічні посилання.

  4. Якщо ви додали власний обліковий запис користувача, вам потрібно вийти з системи та увійти в систему, щоб зміни мали ефект.

Примітка . Цей параметр не впливає на облікові записи користувачів, які належать до групи адміністраторів. Цим користувачам завжди доведеться працювати mklinkу підвищеному середовищі (як адміністратор) через те, як UAC видаляє привілеї при створенні невисокого маркера доступу . Існує зручний довідковий аркуш Excel для пошуку налаштувань групової політики: Довідник щодо параметрів групової політики для Windows та Windows Server


12
Тут це виглядало більше як наступне, лише для довідки, якщо хтось плутається: Панель управління> Адміністративні засоби> Місцева політика безпеки> Місцева політика> Призначення прав користувача> Створення символічних посилань. І, до речі, вам потрібно вийти з системи та увійти знову для налаштувань. застосовувати.
Seldaek

5
І ви можете запустити secpol.msc, щоб пропустити першу частину, тоді все, що вам залишилося, це: Місцева політика> Призначення прав користувача> Створення символічних посилань
Seldaek

5
Також: Запуск "gpupdate / force" з CMD або з просто діалогового вікна Run також повинен застосувати цей параметр.
Тобіас Плутат

1
Будь-який спосіб зробити те саме через реєстр для користувачів, ненависних для Microsoft, не для Windows-8-Pro? gpedit.msc недоступний для них
szx

4
re - "Цим користувачам завжди доведеться запускати mklink у підвищеному середовищі (як адміністратор)" ... тому адміністраторам завжди доводиться працювати з підвищеними ... arg.
Тревор Бойд Сміт

0

Деякі конфігурації Windows пропускають gpedit.msc. У цьому випадку ви можете спробувати як альтернативу:

  1. запустивши цей скрипт PowerShell звідси :
    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. завантажити polsedit, який виглядає як безкоштовна альтернатива gpedit.msc

Потім запустіть gpupdate /forceнегайно застосувати зміни


1
Крім того, щоб дати джерело. будь ласка, додайте сценарій у випадку, якщо джерела більше немає.
miroxlav

Видання для Windows Starter, Home та Home Premium не включає gpedit.msc. Інструкції щодо його встановлення містяться в моєму запитанні та відповіді Windows Starter Edition, Home та Home Premium не включають gpedit, як це встановити?
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.