Xcacls.vbs를 사용하여 NTFS 권한을 수정하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 825751 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft는 Microsoft Visual Basic 스크립트(Xcacls.vbs)로 사용할 수 있는 Extended Change Access Control List tool(Xcacls.exe)의 업데이트된 버전을 출시했습니다. 이 문서에서는 Xcacls.vbs 스크립트를 사용하여 파일 또는 폴더에 대한 NTFS 파일 시스템 권한을 수정하고 표시하는 방법을 단계별로 설명합니다. 명령줄에서 Xcacls.vbs를 사용하여 Microsoft Windows 탐색기에서 액세스할 수 있는 모든 파일 시스템 보안 옵션을 설정할 수 있습니다. Xcacls.vbs를 사용하면 파일의 ACL(액세스 제어 목록)을 표시하고 수정할 수 있습니다.

참고 Xcacls.vbs는 Microsoft Windows 2000, Microsoft Windows XP 및 Microsoft Windows Server 2003과만 호환되며, Microsoft에서 지원하지 않습니다.

Xcacls.vbs 설정 및 사용

Xcacls.vbs를 설정하고 사용하려면 다음과 같이 하십시오.
  1. 다음 Microsoft 웹 사이트에서 최신 버전의 Xcacls.vbs를 구합니다.
    http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe(영문)
  2. Xcacls_Installer.exe를 두 번 누릅니다. 압축을 푼 파일을 저장할 위치를 지정하라는 메시지가 나타나면 C:\Windows와 같이 컴퓨터의 검색 경로 설정에 있는 폴더를 지정합니다.
  3. 기본 스크립팅 엔진을 Wscript에서 Cscript로 변경합니다. 이는 Xcacls.vbs 스크립트가 Cscript에서 가장 잘 작동하기 때문입니다. 기본 스크립팅 엔진을 Wscript에서 Cscript로 변경하려면 명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누르십시오.
    cscript.exe /h:cscript
    참고 기본 스크립팅 엔진을 Cscript로 변경하면 스크립트 실행 결과가 화면에 출력되는 방식만 달라집니다. Wscript는 각 줄을 확인 대화 상자에 개별적으로 표시하는 반면 Cscript는 각 줄을 명령 창에 표시합니다. 기본 스크립팅 엔진을 변경하지 않으려는 경우에는 다음 명령을 사용하여 스크립트를 실행해야 합니다.
    cscript.exe xcacls.vbs
    기본 스크립팅 엔진을 Cscript로 변경한 경우에는 다음 명령을 사용하여 스크립트를 실행할 수 있습니다.
    xcacls.vbs
    .
  4. Xcacls.vbs 명령 구문을 보려면 명령 프롬프트에서 다음을 입력합니다.
    xcacls.vbs /?

Xcacls.vbs 명령 구문

다음은 xcacls.vbs /? 명령이 출력하는 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.


Xcacls.vbs를 사용하여 권한 보기


Xcacls.vbs를 사용하여 파일 또는 폴더에 대한 권한을 볼 수도 있습니다. 예를 들어, C:\Test라는 폴더에 대한 권한을 보려면 명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누릅니다.
xcacls.vbs c:\test
다음 예제는 이 명령의 일반적인 출력 결과입니다.
C:\>XCACLS.VBS c:\test Microsoft (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


참고 이 예제에 나온 xcacls.vbs c:\test 명령의 출력은 GUI(그래픽 사용자 인터페이스)에 표시되는 텍스트와 일치합니다. 일부 단어는 명령 창에서 일부만 표시됩니다.

이 출력에는 사용된 스크립트 버전, 시작 디렉터리 및 인수도 포함됩니다.

와일드카드 문자를 사용하여 디렉터리 아래에 있는 일치하는 파일을 표시할 수도 있습니다. 예를 들어, 다음을 입력하면 C:\Test 폴더에서 확장명이 ".log"인 모든 파일이 표시됩니다.
xcacls.vbs c:\test\*.log

예제


다음 Xcacls.vbs 명령은 Xcacls.vbs의 몇 가지 사용 예를 보여 줍니다.

xcacls.vbs c:\test\ /g domain\testuser1:f /f /t /e
이 명령은 기존 권한을 편집합니다. 이 명령은 C:\Test에 있는 모든 파일에 대한 모든 권한을 Domain\TestUser1에 부여하고 C:\Test에 있는 하위 폴더를 검색한 다음 발견된 모든 파일을 변경합니다. 이 명령은 디렉터리를 변경하지 않습니다.
xcacls.vbs c:\test\ /g domain\testuser1:f /s /l "c:\xcacls.log"
이 명령은 기존 권한을 대체합니다. 이 명령은 C:\Test에 있는 모든 하위 폴더에 대한 모든 권한을 Domain\TestUser1에 부여하고 C:\Xcacls.log에 기록합니다. 이 명령은 파일을 변경하거나 디렉터리를 검색하지 않습니다.
xcacls.vbs c:\test\readme.txt /o "machinea\group1"
이 명령은 Readme.txt의 소유자를 MachineA\Group1 그룹으로 변경합니다.
xcacls.vbs c:\test\badcode.exe /r "machinea\group1" /r "domain\testuser1"
이 명령은 MachineA\Group1 및 Domain\TestUser1에 부여된 C:\Test\Badcode.exe에 대한 권한을 취소합니다.
xcacls.vbs c:\test\subdir1 /i enable /q
이 명령은 C:\Test\Subdir1 폴더에 상속 기능을 설정하고 화면 출력이 표시되지 않도록 합니다.
xcacls.vbs \\servera\sharez\testpage.htm /p "domain\group2":14
이 명령은 WMI(Windows Management Instrumentation)를 사용하여 \\ServerA\ShareZ에 원격으로 연결하고 해당 공유의 로컬 경로를 확인한 다음 이 경로의 아래에서 Testpage.htm에 대한 권한을 변경합니다. 이 명령은 Domain\Group2의 기존 권한은 그대로 유지하지만 권한 1(데이터 읽기) 및 4(확장 특성 읽기)를 추가합니다. 이 명령은 /e 스위치가 사용되지 않았기 때문에 파일에 설정된 다른 권한을 제거합니다.
xcacls.vbs d:\default.htm /g "domain\group2":f /server servera /user servera\admin /pass password /e
이 명령은 WMI를 사용하여 원격으로 ServerA에 ServerA\Admin으로 연결한 다음 Default.htm에 대한 모든 권한을 Domain\Group2에 부여합니다. 그러면 Domain\Group2의 기존 권한은 제거되지만 파일에 대한 다른 권한은 유지됩니다.

참조

Xcacls.exe를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
318754 HOWTO: Xcacls.exe를 사용하여 NTFS 권한 수정




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 825751 - 마지막 검토: 2008년 1월 9일 수요일 - 수정: 2.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
키워드:?
kbhowtomaster KB825751

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com