Jak změnit oprávnění systému souborů NTFS pomocí nástroje Xcacls.vbs

Souhrn

Je aktualizovanou verzi nástroje Extended Change Access Control List (Xcacls.exe), která je k dispozici jako skript jazyka Microsoft Visual Basic (Xcacls.vbs) od společnosti Microsoft. Tento podrobný článek popisuje, jak používat nástroj Xcacls.vbs k úpravě a zobrazení oprávnění systému souborů NTFS u souborů nebo složek. Nástroj Xcacls.vbs lze použít z příkazového řádku, chcete-li nastavit možnosti zabezpečení systému, které jsou k dispozici v programu Průzkumník Windows na soubor. Nástroj Xcacls.vbs zobrazí a upraví seznamy řízení přístupu (ACL) souborů.

Poznámka: Nástroj Xcacls.vbs je kompatibilní se systémem Windows 2000, Microsoft Windows XP a Microsoft Windows Server 2003 pouze. Nástroj Xcacls.vbs není podporován společností Microsoft.

zpět na horní

Nastavení a použití nástroje Xcacls.vbs

Chcete-li nastavit a používat nástroj Xcacls.vbs, postupujte takto:
  1. Získejte nejnovější verzi nástroje Xcacls.vbs z následujícího webu společnosti Microsoft:
  2. Poklepejte na položku Xcacls_Installer.exe. Po zobrazení výzvy k zadání umístění pro extrahované soubory zadejte složku, která je v nastavení cesty pro vyhledávání v počítači, například C:\Windows.
  3. Změňte výchozí skriptovací stroj z Wscript na Cscript. (Skript Xcacls.vbs funguje nejlépe v nástroji Cscript.) Chcete-li to provést, zadejte na příkazovém řádku následující příkaz a stiskněte klávesu ENTER:
    cscript.exe /h:cscript
    Poznámka: Změna výchozího Cscript skriptovací stroj pouze ovlivňuje, jak psát skripty na obrazovku. Nástroj Wscript vypisuje každý řádek zvlášť dialogové okno OK . Cscript vypisuje každý řádek v okně příkazu. Pokud nechcete změnit výchozí skriptovací stroj, je nutné spustit skript pomocí následujícího příkazu
    cscript.exe xcacls.vbs
    vzhledem k tomu, pokud změníte výchozí nastavení na Cscript, můžete pomocí následujícího příkazu spusťte skript:
    xcacls.vbs
    .
  4. Chcete-li zobrazit syntaxi příkazu Xcacls.vbs, zadejte na příkazovém řádku následující příkaz:
    xcacls.vbs /?
zpět na horní

Syntaxe příkazu Xcacls.vbs

Výstup xcacls.vbs /? příkaz popisuje syntaxi příkazu Xcacls.vbs:
Usage:XCACLS filename [/E] [/G user:perm;spec] [...] [/R user [...]]
[/F] [/S] [/T]
[/P user:perm;spec [...]] [/D user:perm;spec] [...]
[/O user] [/I ENABLE/COPY/REMOVE] [/N
[/L filename] [/Q] [/DEBUG]

filename [Required] If used alone, it displays ACLs.
(Filename can be a filename, directory name or
wildcard characters and can include the whole
path. If path is missing, it is assumed to be
under the current directory.)
Notes:
- Put filename in quotes if it has spaces or
special characters such as &, $, #, etc.
- If filename is a directory, all files and
subdirectories under it will NOT be changed
unless the /F or S is present.

/F [Used with Directory or Wildcard] This will change all
files under the inputted directory but will NOT
traverse subdirectories unless /T is also present.
If filename is a directory, and /F is not used, no
files will be touched.

/S [Used with Directory or Wildcard] This will change all
subfolders under the inputted directory but will NOT
traverse subdirectories unless /T is also present.
If filename is a directory, and /S is not used, no
subdirectories will be touched.

/T [Used only with a Directory] Traverses each
subdirectory and makes the same changes.
This switch will traverse directories only if the
filename is a directory or is using wildcard characters.
/E Edit ACL instead of replacing it.

/G user:GUI Grant security permissions similar to Windows GUI
standard (non-advanced) choices.
/G user:Perm;Spec Grant specified user access rights.
(/G adds to existing rights for user)

User: If User has spaces in it, enclose it in quotes.
If User contains #machine#, it will replace
#machine# with the actual machine name if it is a
non-domain controller, and replace it with the
actual domain name if it is a domain controller.

New to 3.0: User can be a string representing
the actual SID, but MUST be lead by SID#
Example: SID#S-1-5-21-2127521184-160...
(SID string shown has been shortened)
(If any user has SID# then globally all
matches must match the SID (not name)
so if your intention is to apply changes
to all accounts that match Domain\User
then do not specify SID# as one of the
users.)

GUI: Is for standard rights and can be:
Permissions...
F Full control
M Modify
X read and eXecute
L List folder contents
R Read
W Write
Note: If a ; is present, this will be considered
a Perm;Spec parameter pair.

Perm: Is for "Files Only" and can be:
Permissions...
F Full control
M Modify
X read and eXecute
R Read
W Write
Advanced...
D Take Ownership
C Change Permissions
B Read Permissions
A Delete
9 Write Attributes
8 Read Attributes
7 Delete Subfolders and Files
6 Traverse Folder / Execute File
5 Write Extended Attributes
4 Read Extended Attributes
3 Create Folders / Append Data
2 Create Files / Write Data
1 List Folder / Read Data
Spec is for "Folder and Subfolders only" and has the
same choices as Perm.

/R user Revoke specified user's access rights.
(Will remove any Allowed or Denied ACL's for user.)

/P user:GUI Replace security permissions similar to standard choices.

/P user:perm;spec Replace specified user's access rights.
For access right specification see /G option.
(/P behaves like /G if there are no rights set for user.)

/D user:GUI Deny security permissions similar to standard choices.
/D user:perm;spec Deny specified user access rights.
For access right specification see /G option.
(/D adds to existing rights for user.)

/O user Change the Ownership to this user or group.

/I switch Inheritance flag. If omitted, the default is to not touch
Inherited ACL's. Switch can be:
ENABLE - This will turn on the Inheritance flag if
it is not on already.
COPY - This will turn off the Inheritance flag and
copy the Inherited ACL's
into Effective ACL's.
REMOVE - This will turn off the Inheritance flag and
will not copy the Inherited
ACL's. This is the opposite of ENABLE.
If switch is not present, /I will be ignored and
Inherited ACL's will remain untouched.

/L filename Filename for Logging. This can include a path name
if the file is not under the current directory.
File will be appended to, or created if it does not
exit. Must be Text file if it exists or error will occur.

If filename is omitted, the default name of XCACLS will
be used.

/Q Turn on Quiet mode. By default, it is off.
If it is turned on, there will be no display to the screen.


/DEBUG Turn on Debug mode. By default, it is off.
If it is turned on, there will be more information
displayed and/or logged. Information will show
Sub/Function Enter and Exit as well as other important
information.

/SERVER servername Enter a remote server to run script against.

/USER username Enter Username to impersonate for Remote Connections
(requires PASS switch). Will be ignored if it is for a Local Connection.

/PASS password Enter Password to go with USER switch
(requires USER switch).


Wildcard characters can be used to specify more than one file in a command, such as:
* Any string of zero or more characters
? Any single character

You can specify more than one user in a command.
You can combine access rights.


zpět na horní

Použití nástroje Xcacls.vbs k zobrazení oprávnění


Nástroj Xcacls.vbs lze použít také k zobrazení oprávnění pro soubory nebo složky. Pokud máte složku s názvem C:\Test, zadejte do příkazového řádku můžete zobrazit oprávnění pro složku a potom stiskněte klávesu ENTER:
xcacls.vbs c:\test
Následující příklad je typický výsledek:
C:\>XCACLS.VBS c:\testMicrosoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Starting XCACLS.VBS (Version: 3.4) Script at 6/11/2003 10:55:21 AM

Startup directory:
"C:\test"

Arguments Used:
Filename = "c:\test"



**************************************************************************
Directory: C:\test

Permissions:
Type Username Permissions Inheritance

Allowed BUILTIN\Administrators Full Control This Folder, Subfolde
Allowed NT AUTHORITY\SYSTEM Full Control This Folder, Subfolde
Allowed Domain1\User1 Full Control This Folder Only
Allowed \CREATOR OWNER Special (Unknown) Subfolders and Files
Allowed BUILTIN\Users Read and Execute This Folder, Subfolde
Allowed BUILTIN\Users Create Folders / Appe This Folder and Subfo
Allowed BUILTIN\Users Create Files / Write This Folder and Subfo

No Auditing set

Owner: Domain1\User1


Poznámka: Výstup příkazu xcacls.vbs c:\test v tomto příkladu odpovídá textu, který se zobrazuje v grafickém uživatelském rozhraní (GUI). Některá slova jsou neúplné v příkazovém okně.

Výstup obsahuje také verzi skriptu, spouštěcí adresář a argumenty, které byly použity.


Můžete také použít zástupné znaky zobrazíte odpovídající soubory v adresáři. Například pokud zadáte následující, všechny soubory s příponou "log" které jsou v C:\Test složky jsou zobrazeny:
xcacls.vbs c:\test\*.log
zpět na horní

Příklady


Následující příkazy poskytují několik příkladů použití skriptu Xcacls.vbs.

xcacls.vbs c:\test\ /g domain\testuser1:f /f /t /e
Tento příkaz upraví stávající oprávnění. Uděluje uživateli domena\uzivatel_test1 udělí úplné řízení pro všechny soubory pod C:\Test, projde podsložky pod C:\Test a poté změní všechny nalezené soubory. Příkaz nemění adresáře.
xcacls.vbs c:\test\ /g domain\testuser1:f /s /l "c:\xcacls.log"
Tento příkaz nahradí stávající oprávnění. Uděluje uživateli domena\uzivatel_test1 udělí úplné řízení pro všechny podsložky pod C:\Test a zaznamená do C:\Xcacls.log. Příkaz nemění soubory a neprochází adresáře.
xcacls.vbs c:\test\readme.txt /o "machinea\group1"
Tento příkaz změní vlastníka souboru Readme.txt na skupinu Pocitac_a\skupina1.
xcacls.vbs c:\test\badcode.exe /r "machinea\group1" /r "domain\testuser1"
Tento příkaz zruší oprávnění k C:\Test\Badcode.exe pro skupinu Pocitac_a\skupina1 a pro uživatele domena\uzivatel_test1.
Povolit nástroj Xcacls.vbs /i c:\test\subdir1/q
Příkaz zapne dědičnost pro složku C:\Test\Subdir1. Potlačí jakýkoliv výstup na obrazovku.
xcacls.vbs \\servera\sharez\testpage.htm /p "domain\group2":14
Tento příkaz se vzdáleně připojí k \\ServerA\ShareZ pomocí Windows Management Instrumentation (WMI). Poté získá lokální cestu pro tuto sdílenou položku a v této cestě změní oprávnění k souboru testovaci_stranka.htm. Stávající oprávnění domena\skupina2 zůstanou zachovány, ale přidá oprávnění 1 (číst data) a 4 (Číst rozšířené atributy). Příkaz zruší ostatní oprávnění k souboru, protože nebyl použit parametr/e .
Nástroj Xcacls.vbs d:\default.htm /g "domena\skupina2": f/server server_a/User uzivatel server_a\spravce/pass heslo /e
Tento příkaz používá rozhraní WMI pro vzdálené připojení uživatele server_a\spravce k serveru Server_a a pak domena\skupina2 uděluje úplný oprávnění. Stávající oprávnění pro skupinu domena\skupina2 jsou ztraceny a ostatní oprávnění k souboru zůstanou.
zpět na horní

Odkazy

Další informace o tom, jak pomocí Xcacls.exe, získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

318754 jak změnit oprávnění systému souborů NTFS pomocí Xcacls.exe

Vlastnosti

ID článku: 825751 - Poslední kontrola: 16. 1. 2017 - Revize: 2

Váš názor