Hozzáférés a megnövelt jogosultságokkal futó programok hálózati meghajtóira

A Windows operációs rendszer (a Vistától kezdve) egyik jelentős biztonsági fejlesztése a felhasználói fiókok ellenőrzése (UAC) bevezetése volt. A felhasználói fiókok ellenőrzése a felhasználó megerősítését kéri minden olyan program indításakor, amely megkísérel változtatni a rendszerbeállításokban. Az UAC egyik mellékhatása képtelen hozzáférés csatlakoztatva (keresztül nettó használat) hálózati meghajtók privilegizált módban futó alkalmazásokból (Futtatás rendszergazdaként). Ez azt jelenti, hogy ha egy parancssort vagy (ugyanazon Total Commander) fájlkezelőt futtat magasabb szintű jogokkal, akkor azok nem tartalmaznak (nem hozzáférhető) illesztett hálózati mappák meghajtójeleit.

Ebben a megjegyzésben megmutatjuk, hogyan működik a Windows 10, Windows 8.1 és Windows 7 hozzáférést biztosít a privilegizált módban futó alkalmazások hálózati meghajtóihoz (rendszergazdaként működik). A probléma mind a hálózati mappákban, a csoportos házirendekkel csatlakoztatva, mind pedig a csatlakoztatott felhasználók mappáin jelentkezik.

Fontos. Erősen tiltakozni kell az UAC teljes letiltása, még egy adott alkalmazás esetén is.

Valójában, ha az UAC engedélyezve van egy "privilegizált" alkalmazásból a Windowsban, akkor nem férhet hozzá a normál módban csatlakoztatott hálózati meghajtóhoz. Bemutatjuk, hogyan néz ki a probléma. Győződjön meg például arról, hogy a rendszer rendes felhasználójával indított parancssorban hozzáférhet a csatlakoztatott hálózati meghajtó Z tartalmához: \.

Ha ugyanazon felhasználó összefüggésében parancssori ablakot nyit meg rendszergazdai jogokkal, akkor amikor ugyanahhoz a meghajtóhoz próbál hozzáférni, megjelenik egy üzenet, hogy a megadott útvonal nem található:

A rendszer nem találja a megadott utat..

Ez a rendszer viselkedés számos kellemetlenséget okozhat, amikor az alkalmazásokat gyakran privilegizált módban indítják el. Az alkalmazásokat rendszergazdai jogosultságok nélkül is futtathatja, de ez nem mindig alkalmazható.

Miért történik ez?? Ez a szolgáltatás a helyi rendszergazdai jogokkal rendelkező felhasználók UAC mechanizmusához van társítva. A helyzet az, hogy amikor egy ilyen felhasználó bejelentkezik a rendszerbe, két hozzáférési jogkivonat jön létre: egy hozzáférési jogkivonat letiltott rendszergazdai jogokkal (szűrt hozzáférési jogkivonat - ahonnan a legtöbb program elindul) és egy teljes értékű rendszergazda jogkivonat teljes jogokkal a rendszerben (ebben az összefüggésben minden olyan program végrehajtásra kerül, amely megkapta a jogok megemelkedését az UAC-ban).

Ha a parancsot használja Whoami / minden hasonlítsa össze ugyanazon felhasználó jelenlegi jogosultságait két cmd.exe munkamenetben (normál és privilegizált), láthatja, hogy ezek nagyon különböznek. Az alábbi táblázat felsorolja a csoportok és az egyes munkamenetek aktuális hitelesítő adatainak különbségeit..

Rendszeres felhasználói munkamenetKiváltságos felhasználói munkamenet
Hozzáférési csoportKötelező címke \ Közepes Kötelező szintű címke S-1-16-8192Kötelező címke \ Nagyon kötelező szintű címke S-1-16-12288
jogosultságokatSeLockMemoryPrivilege

SeMachineAccountPrivilege

SeShutdownPrivilege

SeChangeNotifyPrivilege

SeUndockPrivilege

SeIncreaseWorkingSetPrivilege

SeTimeZonePrivilege

SeLockMemoryPrivilege

SeIncreaseQuotaPrivilege

SeMachineAccountPrivilege

SeSecurityPrivilege

SeTakeOwnershipPrivilege

SeLoadDriverPrivilege

SeSystemProfilePrivilege

SeSystemtimePrivilege

SeProfileSingleProcessPrivilege

SeIncreaseBasePriorityPrivilege

SeCreatePagefilePrivilege

SeBackupPrivilege

SeRestorePrivilege

SeShutdownPrivilege

SeSystemEnvironmentPrivilege

SeChangeNotifyPrivilege

SeRemoteShutdownPrivilege

SeUndockPrivilege

SeManageVolumePrivilege

SeImpersonatePrivilege

SeCreateGlobalPrivilege

SeIncreaseWorkingSetPrivilege

SeTimeZonePrivilege

SeCreateSymbolicLinkPrivilege

SeDelegateSessionUserImpersonatePrivilege

Ha az UAC engedélyezve van, ugyanazon felhasználó alatti alkalmazásokat két kontextusban (privilegizált és nem privilegizált) lehet elindítani. Megosztott hálózati mappák csatlakoztatásakor a rendszer szimbolikus hivatkozásokat (DosDevices) hoz létre, amely tárolja a meghajtó betűinek és az UNC útvonalak leképezését. Ezek a linkek az aktuális folyamat-hozzáférési jogkivonat aktuális munkamenetéhez vannak társítva, és egy másik jogkivonatból nem érhetők el.

Ennek megfelelően az ellenkező probléma is felmerülhet: ha a felhasználó rendszergazdai jogokkal rendelkezik a számítógépen, akkor a hálózati meghajtók csatlakoztatásakor a házirendek bejelentkezési szkriptein, az ütemező feladatokon vagy az SCCM-en (amelyek megemelt jogosultságokkal futnak), ezek a meghajtók a felhasználó számára nem jelennek meg a Windows Intézőben (nem előnyös folyamat).

megjegyzés. A Windows Server rendszeren a Windows Intézőt magasabb jogosultságokkal is futtathatja.

Kerülő megoldásként javasolhatja a csatlakozást (a nettó felhasználás vagy rundll32 SHELL32.dll, SHHelpShortcuts_RunDLL Csatlakozás) hálózati meghajtók egy parancssorban, amelyet rendszergazdai jogosultságokkal futtatnak. De ez a megoldás nem mindig alkalmazható, és nem is nagyon kényelmes..

Van egy egyszerűbb megoldás, amelynek végrehajtásához a következő változtatásokat kell végrehajtania a beállításjegyzékben:

  1. Nyissa meg a Registry Editor programot (regedit.exe).
  2. Ugrás a regisztrációs kulcshoz HKEY_LOCAL_MACHINE \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ Irányelvek \ Rendszer .
  3. Hozzon létre egy új (DWORD típusú) paramétert EnableLinkedConnections és érték 1 .
    tanács. Ugyanezt megteheti egy paranccsal:
    reg add "HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System" / v "EnableLinkedConnections" / t REG_DWORD / d 0x00000001 / f
  4. Indítsa újra a számítógépet (vagy indítsa újra a LanmanWorkstation szolgáltatást).

Az újraindítás után győződjön meg arról, hogy a felhasználó látja-e a hálózati meghajtókat a rendszergazdai jogokkal futó programokból. Az ellenkezője is igaz, minden privilegizált munkamenethez kapcsolódó hálózati meghajtó elérhető lesz egy rendes munkamenetben.

tanács. Sajnos a csoportházirendekben nincs lehetőség az EnableLinkedConnections paraméter engedélyezésére, így ezeknek a beállításoknak a tartományi számítógépekre történő terjesztéséhez ezt a beállításjegyzék-beállítást a GPP-t használó számítógépekre kell elosztania..

Hogyan működik. Az EnableLinkedConnections beállításjegyzék bejegyzés engedélyezése után a LanmanWorkstation szolgáltatás és az LSA ellenőrzi, hogy van-e egy második hozzáférési jogkivonat az aktuális felhasználói munkamenethez. Ha ilyen hozzáférési tokent talál, a leképezett hálózati meghajtók listáját az egyik tokenről a másikra másolja. Így a privilegizált módban csatlakoztatott hálózati meghajtók normál üzemmódban és fordítva is láthatók lesznek.
tanács. Alternatív megoldás egy szimbolikus hivatkozás létrehozása a célhálózati könyvtárhoz. Például, így
mklink / D c: \ docs \\ msk-fs1 \ docs
Ehhez a könyvtárhoz normál és privilegizált módban is lehet hozzáférni. A módszer hátrányai között megjegyezzük, hogy a megosztott mappához való hozzáférést a jelenlegi felhasználó privilégiumaival hajtjuk végre. A nettó felhasználáshoz hasonlóan nem használhat másik felhasználói fiókot.