Использование сценария Xcacls.vbs для изменения разрешений NTFS

Переводы статьи Переводы статьи
Код статьи: 825751 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Это обновленная версия средства расширенного списка управления доступом к изменениям (Extended Change Access Control List) Xcacls.exe, реализованного корпорацией Майкрософт в виде сценария Microsoft Visual Basic (Xcacls.vbs). Эта статья содержит пошаговое руководство по использованию сценария Xcacls.vbs для изменения и просмотра разрешений файловой системы NTFS для файлов или папок. Сценарий Xcacls.vbs можно использовать из командной строки для задания всех параметров безопасности файловой системы, доступных в Проводнике Microsoft Windows. Xcacls.vbs отображает и изменяет списки управления доступом (ACL) файлов.

Примечание Программа Xcacls.vbs совместима только с Microsoft Windows 2000, Microsoft Windows XP и Microsoft Windows Server 2003. Программа Xcacls.vbs не поддерживается корпорацией Майкрософт.

Установка и использование программы Xcacls.vbs

Чтобы установить и использовать программу Xcacls.vbs, выполните следующие действия.
  1. Получите последнюю версию программы 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.) Для этого введите в командной строке следующую команду и нажмите клавишу ВВОД:
    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.
Использование: Имя_файла XCACLS [/E] [/G пользователь:разрешение;особое_разрешение] [...] [/R пользователь [...]] [/F] [/S] [/T] [/P пользователь:разрешение;особое_разрешение [...]] [/D пользователь:разрешение;особое_разрешение] [...] [/O пользователь] [/I ENABLE/COPY/REMOVE] [/N [/L имя_файла] [/Q] [/DEBUG]

   имя_файла            [необходимо] Если используется отдельно, отображает списки контроля доступа (ACL). (Параметр имя_файла может быть именем файла, именем каталога или подстановочными знаками и может содержать полный путь. Если путь отсутствует, предполагается, что используется текущий каталог.) Примечания. - Заключите имя_файла в кавычки, если оно содержит пробелы или служебные знаки, например, &, $, #, и т. д. - Если имя_файла представляет собой каталог, никакие файлы и подкаталоги в нем НЕ будут изменены, если не используются параметры /F или S.

   /F                  [Используется с каталогом или подстановочным знаком] Использование этого параметра приведет к изменению всех файлов в указанном каталоге, но НЕ приведет к обходу подкаталогов, если не указан также параметр /T. Если имя_файла представляет собой каталог, а параметр /F не используется, файлы не будут затронуты.

   /S                  [Используется с каталогом или подстановочным знаком] Использование этого параметра приведет к изменению всех подкаталогов в указанном каталоге, но НЕ приведет к обходу подкаталогов, если не указан также параметр /T. Если имя_файла представляет собой каталог, а параметр /S не используется, подкаталоги не будут затронуты.

   /T                  [Используется только с каталогом] Обходит каждый подкаталог, внося одинаковые изменения. Этот параметр приводит к обходу каталогов только в случае, если имя_файла представляет собой каталог или при использовании подстановочных знаков. /E                  Изменить список контроля доступа (ACL), не заменяя его.

   /G пользователь:графический_интерфейс_пользователя         Предоставляет разрешения безопасности, подобные стандартным (не расширенным) параметрам графического интерфейса пользователя Windows. /G пользователь:разрешение;особое_разрешение   Предоставляет указанному пользователю права доступа. (/G добавляет права к имеющимся правам пользователя)

                       Пользователь: Если параметр «пользователь» содержит пробелы, заключите его в кавычки. Если параметр «пользователь» содержит строку #machine#, она будет заменена фактическим именем компьютера, если он не является контроллером домена, и фактическим именем домена, если он является контроллером домена.

                             Новое в версии 3.0: Параметр «пользователь» может быть строкой, представляющий фактический идентификатор безопасности, но строка ДОЛЖНА начинаться с SID# Пример: SID#S-1-5-21-2127521184-160... (показанная строка идентификатора безопасности SID была сокращена) (Если у какого-либо пользователя есть идентификатор безопасности SID#, тогда глобально все совпадения должны соответствовать идентификатору безопасности SID (а не имени), то есть, если необходимо применить изменения ко всем учетным записям, которые соответствуют паре домен\пользователь, то не указывайте один SID# для всех пользователей).

                       графический_интерфейс_пользователя: Этот параметр предназначен для стандартных прав и может принимать следующие значения. Разрешения... F — Полный доступ M — Изменение X — Чтение и выполнение L — Список содержимого папки R — Чтение W — Запись Примечание. Если в строке присутствует точка с запятой (;), это будет считаться парой параметров «разрешение;особое_разрешение».

                       Разрешение: Этот параметр предназначен только для файлов и может принимать следующие значения. Разрешения... F — Полный доступ M — Изменение X — Чтение и выполнение R — Чтение W — Запись Особые разрешения... D — Смена владельца C — Смена разрешений B — Чтение разрешений A — Удаление 9 — Запись атрибутов 8 — Чтение атрибутов 7 — Удаление подпапок и файлов 6 — Обзор папок / Выполнение файлов 5 — Запись дополнительных атрибутов 4 — Чтение дополнительных атрибутов 3 — Создание папок / Дозапись данных 2 — Создание файлов / Запись данных 1 — Содержание папки / Чтение данных предназначены только для папок и подпапок и имеют те же варианты выбора, что и разрешения.

   /R пользователь             Отозвать указанные права доступа пользователя. (Приведет к удалению любых разрешающих или запрещающих списков контроля доступа (ACL) для пользователя).

   /P пользователь:графический_интерфейс_пользователя         Заменить разрешения безопасности, подобные стандартным вариантам выбора.

   /P пользователь:разрешение;особое_разрешение   Заменить права доступа указанного пользователя. Спецификацию прав доступа см. в описании параметра /G. (Параметр /P действует подобно параметру /G, если для пользователя не заданы никакие права.)

   /D пользователь:графический_интерфейс_пользователя         Запретить разрешения безопасности, подобные стандартным вариантам выбора.
   /D пользователь:разрешение;особое_разрешение   Запретить указанные права доступа пользователя. Спецификацию прав доступа см. в описании параметра /G. (/D добавляет запрет к имеющимся правам пользователя.)

   /O пользователь             Изменить владельца на этого пользователя или группу.

   /I переключатель           Флаг наследования.  Если этот параметр опущен, унаследованные списки контроля доступа (ACL) не затрагиваются. Переключатель может принимать следующие значения: ENABLE — Включает флаг наследования, если он еще не включен. COPY   — Выключает флаг наследования и копирует унаследованные списки контроля доступа (ACL) в результирующие списки контроля доступа. REMOVE — Отключает флаг наследования и не копирует унаследованные списки контроля доступа. Это значение противоположно значению ENABLE. Если переключатель отсутствует, параметр /I будет пропущен, а унаследованные списки контроля доступа затронуты не будут.

   /L имя_файла         Имя файла для ведения журнала. Этот параметр может содержать путь, если файл находится не в текущем каталоге. Файл будет дозаписан или создан, если он не существует. Если файл существует, он должен иметь текстовый формат, иначе произойдет ошибка.

                       Если параметр имя_файла опущен, будет использовано имя по умолчанию XCACLS.

   /Q                  Включить тихий режим.  По умолчанию тихий режим выключен. Если тихий режим включен, на экран ничего выводиться не будет.


   /DEBUG              Включить режим отладки. По умолчанию режим отладки выключен. Если режим отладки включен, на экран и в журнал будет выводиться больше сведений. Будут показаны сведения о входе в функцию (процедуру) и выходе из функции (процедуры), а также другие важные сведения.

   /SERVER имя_сервера  Введите имя удаленного сервера, для которого требуется выполнить сценарий.

   /USER имя_пользователя      Введите имя пользователя для олицетворения удаленных подключений (требует наличия параметра PASS).  Этот параметр будет пропущен в случае применения для локального подключения.

   /PASS пароль      Введите пароль для параметра USER (требует наличия параметра USER).


Для указания нескольких файлов в команде можно использовать указанные ниже подстановочные знаки. *       Любая строка, содержащая произвольное количество (в том числе ни одного) знаков ?       Любой один знак

В команде можно указать несколько пользователей. Права доступа можно сочетать.


Использование программы Xcacls.vbs для просмотра разрешений


Программу Xcacls.vbs можно также использовать для просмотра разрешений для файлов или папок. Например, для папки с именем C:\Test, введите в командной строке следующую команду для просмотра разрешений для этой папки и нажмите клавишу ВВОД:
xcacls.vbs c:\test
В следующем примере приведен типичный результат:
C:\>XCACLS.VBS c:\test сценарий Microsoft (R) Windows версия узла 5.6 (C) Корпорация Майкрософт, 1996-2001. Все права защищены.

Запуск сценария XCACLS.VBS (Версия: 3.4) 11 июня 2003 г. 10:55:21

Рабочий каталог: "C:\test"

Использованные аргументы: Имя файла = "c:\test"



************************************************************************** Каталог: C:\test

Разрешения: Тип     Имя пользователя                Разрешения           Наследование

Разрешено  ВСТРОЕННЫЕ\Администраторы  Полный доступ          Эта папка, подпа Разрешено  NT AUTHORITY\SYSTEM     Полный доступ          Эта папка, подпа Разрешено  Домен1\Пользователь1           Полный доступ          Только эта папка Разрешено  \СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ          Особые (неизвестные)     Подпапки и файлы Разрешено  ВСТРОЕННЫЕ\Пользователи           Чтение и выполнение      Эта папка, подпа Разрешено  ВСТРОЕННЫЕ\Пользователи           Создание папок / Доза Эта папка и подпа Разрешено  ВСТРОЕННЫЕ\Пользователи           Создание файлов / Запись  Эта папка и подпа

Аудит не установлен

Владелец: домен_1\пользователь_1


Примечание Выходные данные команды xcacls.vbs c:\test в этом примере соответствуют тексту, показанному в графическом интерфейсе пользователя (GUI). Некоторые слова в окне команд не завершены.

Выходные данные также содержат версию сценария, рабочий каталог и использованные аргументы.

Для отображения соответствующих файлов в каталоге также можно использовать подстановочные знаки. Например, если ввести следующую команду, будут показаны все файлы с расширением LOG, расположенные в папке C:\Test:
xcacls.vbs c:\test\*.log

Примеры


Следующие команды Xcacls.vbs являются примерами использования сценария Xcacls.vbs.

xcacls.vbs c:\test\ /g домен\тестовый_пользователь_1:f /f /t /e
Эта команда предназначена для изменения существующих разрешений. Эта команда предоставляет пользователю «домен\тестовый_пользователь_1» полный доступ на все файлы в папке C:\Test, обходит все подпапки в папке C:\Test и изменяет все найденные файлы. Эта команда не затрагивает каталоги.
xcacls.vbs c:\test\ /g домен\тестовый_пользователь_1:f /s /l "c:\xcacls.log"
Эта команда заменяет существующие разрешения. Эта команда предоставляет пользователю «домен\тестовый_пользователь_1» полный доступ на все подпапки в папке C:\Test и записывает данные в файл журнала C:\Xcacls.log. Эта команда не затрагивает файлы и не осуществляет обход каталогов.
xcacls.vbs c:\test\readme.txt /o "компьютер_а\группа_1"
Эта команда изменяет владельца файла Readme.txt на группу «компьютер_а\группа_1».
xcacls.vbs c:\test\badcode.exe /r "компьютер_а\группа_1" /r "домен\тестовый_пользователь_1"
Эта команда отзывает разрешения на файл C:\Test\Badcode.exe для группы «компьютер_а\группа_1» и для пользователя «домен\тестовый_пользователь_1».
xcacls.vbs c:\test\subdir1 /i enable /q
Эта команда включает наследование для папки C:\Test\Subdir1. Эта команда подавляет вывод на экран.
xcacls.vbs \\сервер_а\sharez\testpage.htm /p "домен\группа_2":14
Эта команда удаленно подключается к папке \\сервер_а\ShareZ, используя инструментарий управления Windows (WMI). Затем эта команда получает локальный путь к этой общей папке и изменяет разрешения на файл Testpage.htm, находящийся по этому пути. Эта команда сохраняет нетронутыми существующие разрешения для группы «домен\группа_2», но добавляет разрешения 1 (чтение данных) и 4 (чтение дополнительных атрибутов). Эта команда сбрасывает все остальные разрешения для файла, поскольку параметр /e не используется.
xcacls.vbs d:\default.htm /g "домен\группа_2":f /server сервер_а /user сервер_а\администратор /pass пароль /e
Эта команда использует инструментарий управления Windows (WMI) для удаленного подключения с учетной записью «сервер_а\администратор» к серверу «сервер_а» и предоставляет полные разрешения на файл Default.htm группе «домен\группа_2». Существующие разрешения для группы «домен\группа_2» будут утеряны, а другие разрешения на файл останутся.

Ссылки

Дополнительные сведения об использовании программы Xcacls.exe см. в следующей статье базы знаний Майкрософт:
318754 Изменение разрешений NTFS с помощью программы Xcacls.exe (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Свойства

Код статьи: 825751 - Последний отзыв: 7 ноября 2006 г. - Revision: 2.3
Информация в данной статье относится к следующим продуктам.
  • 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
Ключевые слова: 
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