Olenemata Windowsi keelest, kuidas ma saan panna ICACLS -i käsu määrama kausta, millel on kõigile täielik juurdepääs?

Regardless Windows Language



Lahendus:

Ei tööta prantsuskeelsetes versioonides, arvatavasti seetõttuKasutajad on erinevad

Teil on kolm võimalust, mida kirjeldatakse allpool:

  1. Tõlgitud nime saamiseks kasutage keeleportaali



  2. Hankige lokaliseeritud nimi kaustastKasutajate SID



  3. KasutaKasutajad said SID -igaitaalid




Valik 1: kasutage keeleportaali (Microsofti terminoloogia kanooniline ressurss)

Kasutajate otsing toob tagasi:

Tõlked Microsofti lokaliseeritud toodetes

Eesti tõlke toote kasutajad Windows 7 kasutajad Windows 7 kasutajad Windows 8 kasutajad Kaasaegsed häälkasutajad Windows 8 kasutajad Windows 8.1 kasutajad KASUTAJAD KASUTAJAD Windows 8.1 kasutajad Windows 10 kasutajad Windows 10 kasutajad Windows 10 kasutajad aastapäeva kasutajad värskendavad kasutajaid Windows 10 aastapäeva kasutajate värskendus

See viitab sellele, et järgmine käsk võib toimida:



icacls C:  FullyAccessibleFolder / grant Kasutajad: (OI) (CI) F

2. valik: hankige lokaliseeritud nimi kaustastKasutajate SID (S-1-5-32-545)

SID: S-1-5-32-545

Nimi: kasutajad

Kirjeldus: sisseehitatud rühm. Pärast operatsioonisüsteemi esmast installimist on ainus liige autentitud kasutajate rühm. Kui arvuti ühineb domeeniga, lisatakse domeenikasutajate rühm arvuti kasutajarühma.

Allikas Tuntud turvatunnused Windowsi operatsioonisüsteemides

Lokaliseeritud hankimiseksKasutajate grupi nimi:

See lihtne skript annab teile kasutajate tegeliku nime(S-1-5-32-545) rühm antud arvutis:

Määra objWMIService = GetObject ('winmgmts: \.  Root  cimv2') Määra objAccount = objWMIService.Get ('Win32_SID.SID =' S-1-5-32-545 '') Wscript.Echo objAccount.AccountName

Pange see faili, mille laiend on vbs (OletamekasutajateNimi.vbs).

Nüüd jookse:

echo Y | for /f 'delims =' %i in ('cscript -Nologo usersName.vbs') do cacls foldname /G ' %i': F

Allikas Cacls, Windows 7, täielikud õigused, kohalikud nimed wmz poolt


Valik 3: kasutageKasutajad said SID -igaitaalid

Kasutage järgmist käsku:

icacls C:  FullyAccessibleFolder /grant *S-1-5-32-545: (OI) (CI) F

Allikakommentaar Harry Johnston


AD-rühma peate määrama mitte nime, vaid SID-numbri järgi.
Standardrühmade, nagu „EveryOne”, „Domain Users” jne jaoks on olemas standardiseeritud SID-numbrid, mille leiate MSDN-i lehelt Tuntud turvatunnused (SID).

Allpool on toodud kõige levinumad suhtelised identifikaatorid.

sisestage pildi kirjeldus siia

SID struktuuri kirjeldatakse järgmiselt.

SID komponente on lihtsam visualiseerida, kui SID -d teisendatakse binaarsest stringivorminguks, kasutades standardset märget:

S-R-X-Y1-Y2-Yn-1-Yn

Komponendi määratlus S Näitab, et string on SID R -i redaktsioonitase X Identifikaatori volituse väärtus Y Alamvõimu väärtuste seeria, kus n on väärtuste arv

Näiteks on sisseehitatud administraatorite rühma SID standardse SID-märkega järgmine string:

S-1-5-32-544

Sellel SID -l on neli komponenti:

  • Läbivaatamise tase (1)

  • Identifikaatori volituse väärtus (5, NT volitus)

  • Domeeni identifikaator (32, sisseehitatud)

  • Suhteline identifikaator (544, administraatorid)

Turvatunnuste toimimine


Kui teile meeldivad PowerShelli skriptid, kuid teil on probleeme SID -de numbrite meeldejätmisega:

$ acl = Get-Acl.  myfolder $ sid = New-Object System.Security.Principal.SecurityIdentifier ([System.Security.Principal.WellKnownSidType] :: BuiltinUsersSid, $ null) $ rule = New-Object System.Security.AccessControl .FileSystemAccessRule ($ sid, 'FullControl', 'ObjectInherit, ContainerInherit', 'Puudub', 'Luba') $ acl.AddAccessRule ($ rule) Set-Acl.  Myfolder $ acl

Ma tean, et see näeb välja nagu palju trükkimist, kuid need pikad identifikaatorid on vahekaardil täidetud:

  • System.Security.Principal.SecurityIdentifier alatesturvalisus
  • System.Security.Principal.WellKnownSidType fromhästi teada
  • System.Security.AccessControl.FileSystemAccessRule alatesfailisüsteem

Kõik need stringid on .NET -identifikaatorid, nii et neid ei lokaliseerita.

Kui soovite ,.Selle asemel kasuta igaüks SID -dAsemel WorldSidSisseehitatud kasutajadSid. Kõigi nimekirja saamiseksWellKnownSidType valikud, vt MSDN või käivitage see käsk:

[System.Security.Principal.WellKnownSidType] .DeclaredFields | valige Nimi