Windows Vista. Для профессионалов - Роман Клименко
Шрифт:
Интервал:
Закладка:
Для архивирования DACL файла достаточно воспользоваться командой icacls.ехе <путь к файлу и его имя> /save <путь к архиву и его имя>. Например:
• Icacls c: windowssystem32cmd.exe/save d: cmd ACL old – копирует ACL файла cmd.ехе в файл cmd_ACL_old;
• Icacls c: windowssystem32* /save d: System32 ACL old – копирует ACL всех файлов и каталогов папки %systemroot%system32 в файл System32_ACL_old.
Не забывайте, что если какая-нибудь программа, DACL которой нужно скопировать, в данный момент открыта другой программой, то icacls.ехе не сможет получить к ней доступ и завершит свою работу. В этом случае, если вы копируете DACL содержимого целого каталога, нужно использовать параметр /С, чтобы программа icacls.ехе не завершала свою работу, а продолжила, не копируя DACL занятого файла. Также при копировании DACL содержимого каталога можно использовать параметр /Т, чтобы также копировалось содержимое всех вложенных в выбранный каталог подкаталогов.
Если же вы хотите восстановить DACL из созданного ранее файла, то нужно воспользоваться командой icacls.exe <путь к файлу и его имя> /restore <путь к архиву и его имя>.
Например, Icacls c: windowssystem32 /restore d: System32 ACL old /С. Команда восстанавливает DACL для всех файлов, подкаталогов и содержимого подкаталогов папки %systemroot%system32 из файла System32_ACL_old. Если какой-то файл в данный момент заблокирован, то он будет пропущен программой (благодаря параметру /С). Заметьте, что в команде при указании каталога не нужно указывать маску *.
Смена владельца файлов и каталогов
С помощью данной программы также очень легко сменить владельца для определенного файла или для всего содержимого каталога. Для этого применяется командаicacls.exe <путь к файлу и его имя или путь к каталогу> /setowner <логин нового владельцах
Например, leads c: windowssystem32* /setowner administrator /С. Команда изменяет владельца всего содержимого каталога %systemroot% на владельца Администратор. Заметьте, что в команде применяется параметр /С. Он имеет такое же действие, что и в предыдущих командах. При смене владельца можно также использовать параметр /Т. Точнее, параметры /С и /Т можно использовать во всех командах программы icacls.ехе.
Поиск файлов, в DACL которых есть упоминание о SID определенного пользователя
Для реализации этой возможности используется команда icacls.ехе <путь к файлу и его имя или путь к каталогу> /findsid <SID пользователя или группы>. В ней вы можете также использовать параметры /С и /Т.
Изменение DACL
Изменение DACL можно выполнить не только с помощью программы cads.ехе, но и с помощью новой программы icacls.ехе. Но перед изменением DACL сначала вспомним обозначения прав пользователей, которые применяются в программах cacls.ехе и icacls.ехе:
• F – определяет право на полный доступ к объекту;
• М – указывает право на изменение объекта;
• RE – определяет право на чтение и выполнение объекта;
• R – указывает право только на чтение объекта;
• W – определяет право на запись объекта;
• D – указывает право на удаление объекта;
• RC – определяет разрешение на чтение разрешения;
• WDAC – указывает разрешение на запись DAC;
• W0 – определяет разрешение на смену владельца;
• S – указывает разрешение на синхронизацию;
• AS – определяет разрешение на доступ к системе безопасности;
• МА – указывает разрешение на полный доступ к объекту;
• RD – определяет разрешение на просмотр содержимого папок и чтение данных;
• WD – указывает разрешение на создание файлов и запись данных;
• AD – определяет разрешение на создание папок и дозапись данных;
• REA – указывает разрешение на чтение дополнительных атрибутов;
• WEA – определяет разрешение на запись дополнительных атрибутов;
• ЕХ – указывает разрешение на обзор папок и выполнение файлов;
• DC – определяет разрешение на удаление;
• RA – указывает разрешение на чтение атрибутов;
• WA – определяет разрешение на запись атрибутов.
Для добавления DACL, разрешающих определенное действие, нужно использовать командуicacls.ехе <путь к файлу и его имя или путь к каталогу> /grant <SID пользователя;-: (разрешения через запятую). В этом случае указанное DACL будет добавляться к уже существующему. Если же нужно заменить существующий DACL, то вместо /grant необходимо воспользоваться /grant: г.
Например, такая команда, как Icacls c: windowssystem32* /grant: r administrator: (D, WO) /С, изменяет разрешения для администратора на разрешение удаления и разрешение смены владельца всех файлов и папок каталога %systemroot%system32. Как обычно при изменении DACL нескольких файлов, в команде используется параметр /С.
Для добавления DACL, запрещающих определенное действие, нужно использовать команду icacls.ехе <путь к файлу и его имя или путь к каталогу> /deny <SID пользователя>: (разрешения через запятую).
Например, Icacls c: windowssystem32* /deny administrator: (D,WO) /С. Данная команда запрещает администратору удалять или изменять владельца для всех файлов и папок каталога %systemroot%system32. Как обычно при изменении DACL нескольких файлов, в команде используется параметр /С.
Для удаления DACL используется команда icacls.ехе <путь к файлу и его имя или путь к каталогу> /remove <SID пользователях
Например, Icacls c: windowssystem32* /remove administrator /С. Удаляет DACL, упоминающий SID учетной записи Администратор, для всех файлов и папок каталога %systemroot%system32.
Вы также можете сбросить DACL всех файлов определенного каталога или только определенного файла. В этом случае для него будет применяться наследуемый DACL. Для этого применяется команда icacls.ехе <путь к файлу и его имя или путь к каталогу> /reset.
Программа смены владельца takeown.exe
Наверное, вам знакома ситуация, когда после запрещения полного доступа к файлу вы больше не можете изменить его DACL, так как это запрещено вами же. В этом случае можно попробовать заново получить файл во владение, чтобы сбросить все элементы DACL. Для этого можно использовать программу takeown.ехе.
С помощью данной программы администраторы могут сменить владельца определенного файла или каталога локального или удаленного компьютера на группу Администраторы или пользователя, от имени которого было выполнено подключение к компьютеру.
Синтаксис данной программы следующий: takeown /s <удаленный компьютер> /и <пользователь, от имени которого выполняется подключение к компьютеру> /р <пароль> /F <путь к файлу или каталогу, владельца которых нужно изменить> – <дополнительные параметры>.
• /А – по умолчанию владельцем указанных в команде файлов становится пользователь, от имени которого выполнено подключение к компьютеру. Если же вы укажете этот параметр, то владельцем станет группа Администраторы.
• /R – по умолчанию владелец файлов сменяется только в файлах указанного в команде каталога. Если же нужно, чтобы владелец сменился для всех файлов, каталогов и содержимого вложенных каталогов, необходимо использовать данный параметр.
• /D <Y или N> – если значение данного параметра равно Y, то в случае отказа в доступе к файлу будет выполняться смена разрешений. Иначе данный файл будет пропущен.
Работа с SACL объекта
Как вы, наверное, уже знаете, включить аудит доступа к различным категориям объектов операционной системы можно с помощью оснастки Редактор объектов групповой политики, которая также входит в стандартную консоль gpedit.msc. Для этого нужно перейти в ее подраздел Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита.
После этого можно указать определенный файл или ветвь реестра , аудит доступа к которым будет отслеживаться (если соответствующий тип аудита установлен в групповых политиках). Например, включить аудит для файла можно следующим образом. После отображения окна Свойства файла нужно перейти на вкладку Безопасность и нажать кнопку Дополнительно. Это приведет к отображению нового окна, содержащего вкладку Аудит. Вам достаточно перейти на нее и нажать кнопку Добавить. После этого отобразится окно Выбор: «Пользователь» или «Группа» для выбора учетной записи пользователя, для которого нужно установить аудит доступа к файлу. А после этого отобразится окно Элемент аудита для, с помощью которого можно выбрать действия над файлом, сведения о выполнении которых пользователем будут заноситься в стандартный журнал Windows Vista. Похожим образом устанавливается аудит доступа к ветвям реестра.
Просмотреть же события аудита можно в стандартном журнале операционной системы Безопасность, отображаемом в оснастке Просмотр событий (входит в консоль eventvwr.msc).
Однако это не единственный способ работы с функциями аудита операционной системы.
В состав операционной системы Windows Vista входит программа командной строки, назначением которой является аудит доступа к объектам и его настройкам. Эта программа является нововведением операционной системы Windows Vista, однако мы не будем полностью описывать ее параметры, так как о них всегда можно прочитать, введя в командной строке auditpol.ехе /? или auditpol.ехе <команда> /?. Рассмотрим лишь основные способы применения данной программы.