1. Изменение прав доступа к файлам и каталогам для пользователей
- Зайти в систему от имени администратора и создать 2-х обычных пользователей:
Lab1_Misha
иLab1_Vlad
в “Управление компьютером”, перейти в “Служебные программы” — “Локальные пользователи и группы” — “Пользователи” и нажать “Действие” — “Новый пользователь”. Все галочки снять, пароль по желанию, заполнять необходимо только имя пользователя (первое поле).
Создание пользователя
Созданные пользователи
- Создать директорию
commonDirectory
, в которой для пользователейLab1_Misha
,Lab1_Vlad
создать свою собственную поддиректориюLab1_Misha_dir
,Lab1_Vlad_dir
.
Созданные директории
- Установить права на директорию
commonDirectory
, все ее подпапки и файлы — все пользователи в ОС могут читать ее, но изменять содержимое не могут.
Для этого заходим в свойства папки — вкладка “Безопасность” — кнопка “Изменить”. Для каждого пользователя или группы оставляем галочки только на “Чтение и выполнение, список содержимого папки, Чтение”. В случае, если разрешения нельзя изменить — необходимо отключить наследование — для этого во вкладке “Безопасность” кнопка “Дополнительно” — снизу кнопка “Отключить наследования”. Также возможно добавить группу Everyone и задать ей нужные разрешения.
Вкладка “Безопасность”
- Установить права на поддиректории следующим образом: в собственной поддиректории пользователь имеет полный доступ к поддиректориям и файлам, а в чужих поддиректориях пользователи могут только читать. Но удалять свою собственную поддиректорию пользователь не может.
Для этого заходим в свойства нужной папки — вкладка “Безопасность” — кнопка “Дополнительно”. Используя кнопку “Добавить…” добавляем пользователя, которому предоставляем разрешения. Включаем отображение дополнительных разрешений. Снизу добавляем сначала галочку для полного доступа, а затем убираем для удаления. Т.е. получаем то, что на скриншоте снизу:
- Продемонстрировать, что установленные права строго соблюдаются для пользователей
Lab1_Misha
,Lab1_Vlad
. Обязательно показать попытку удаления собственной директории (Lab1_Misha
–Lab1_Misha_dir
,Lab1_Vlad
–Lab1_Vlad_dir
).
Пользователь Lab1_Misha
:
Пользователь Lab1_Misha
может создать файлы. Так, был создан файл Misha’s File
Пользователь Lab1_Misha
может изменять файл Misha’s File
В папке Lab1_Vlad_dir
пользователь Lab1_Misha
не может ничего сделать.
Пользователь Lab1_Misha
не может удалить папку Lab1_Vlad_dir
.
Аналогично для своей директории Lab1_Misha_dir
.
Аналогично для пользователя Lab1_Vlad
:
Также не может удалить собственную директорию.
2. Управление наследованием прав доступа файлов и каталогов
- Создать директорию
inheritDir
. Разрешить к ней, ее подпапкам и файлам полный доступ для всех пользователей.
Для этого заходим в Свойства папки — вкладка Безопасность — кнопка Дополнительно. Сначала отключаем наследование с преобразованием, а затем дважды кликаем по Пользователи — отображение дополнительных разрешений и кликаем по полному доступу. Применяем все.
- Назначить права доступа к ней следующим образом: в этой директории пользователь
Lab1_Vlad
не может редактировать файлы, а в любой поддиректории – может. При этом пользовательLab1_Vlad
имеет полный доступ ко всем директориям.
Пользователь Lab1_Vlad
уже имеет полный доступ из-за пункта 1. Поэтому нам нужно запретить ему в дополнительных разрешениях “Создание файлов / запись данных” и “Создание папок / дозапись данных”. Для этого делаем аналогичные действия, но выбираем тип — “Запретить”, оставляем галочки только в вышеупомянутых разрешениях и отмечаем галочкой “Применять эти разрешения к объектам и контейнерам только внутри этого контейнера”.
- От имени пользователя
Lab1_Misha
создать в директорииinheritDir
файлtext1.txt
с произвольным содержимым, директориюfolder
, в директорииfolder
создать файлtext2.txt
с произвольным содержимым.
- От имени пользователя
Lab1_Vlad
в директорииinheritDir
совершить попытку редактирования файлаtext1.txt
, попытку создания поддиректорииLab1_Vlad_subdir
.
При попытке редактирования файла предлагается сохранить измененную версию в другом месте. Если попробовать сохранить в этом же месте, то будет данная ошибка.
Невозможно создать поддиректорию в папке inheritDir
- От имени пользователя
Lab1_Vlad
совершить попытку редактировать файлtext2.txt
.
Получилось изменить файл text2.txt
. Также получилось создать поддиректорию Lab1_Vlad_subdir
3. Создание общедоступной темной папки
- Создать директорию
shadowDirectory
и разрешить к ней, ее поддиректориям и файлам полный доступ всех пользователей. Назначить пользователяLab1_Misha
владельцем данной директории.
Для этого заходим в Свойства папки — вкладка Безопасность — кнопка Дополнительно. Сначала отключаем наследование с преобразованием, а затем дважды кликаем по Пользователи — кликаем по полному доступу. Применяем все.
Изменить владельца можно при помощи кнопки изменить рядом с владельцем.
- Установить права на директорию так, чтобы в нее мог писать, изменять файлы любой пользователь, а удалять – только владелец (
Lab1_Misha
).
Для этого мы можем убрать возможность удаления у пользователей и добавить новую запись для владельца с полным доступом.
Убрали галочку у “Удаление подпапок и файлов” для Пользователей
- Отобрать у всех пользователей, кроме владельца (
Lab1_Misha
), право чтения содержимого директории.
Убираем только галочку у пользователей для “Содержание папки / чтение данных”. Владельцу раннее был выдан полный доступ.
Также нужно убрать галочку для группы “Прошедшие проверку”.
- Продемонстрировать средствами командной строки, что установленные права строго соблюдаются для пользователей
Lab1_Misha
,Lab1_Vlad
.
Чтение:
Пользователь Lab1_Vlad
Пользователь Lab1_Misha
(владелец)
Удаление:
Пользователь Lab1_Vlad
Пользователь Lab1_Misha
(владелец)
4. Использование привилегий
- Создать нового обычного пользователя
Lab1_Alex
.
Зайти в систему от имени администратора и перейти в “Управление компьютером”, “Служебные программы” — “Локальные пользователи и группы” — “Пользователи” и нажать “Действие” — “Новый пользователь”. Все галочки снять, пароль по желанию, заполнять необходимо только имя пользователя (первое поле).
Создание нового пользователя Lab1_Alex
Пользователь Lab1_Alex
создан
- Создать директорию
privDirectory
, создать в ней файлsomeFile.txt
с произвольным содержимым и запретить к нему полный доступ для пользователяLab1_Alex
.
Файл someFile.txt
в директории privDirectory
После добавления нажать “Применить”.
- Добавить пользователю привилегию «SeTakeOwnershipPrivilege» (смена владельцев файлов и других объектов).
Заходим в локальную политику безопасности (secpol.msc
) → Локальные политики → Назначение прав пользователя. Выбираем “Смена владельцев файлов и других объектов” и добавляем пользователя Lab1_Alex
.
После добавления нажать “Применить”.
- Войти в систему от имени пользователя
Lab1_Alex
, воспользоваться предоставленной привилегией и прочитать файлsomeFile.txt
. (Подсказка: воспользоваться командой командной строкиtakeown
)
Для получения добавленных привилегий необходимо запустить командную строку от имени администратора…
Мы стали владельцем файла, теперь мы можем предоставить себе полный доступ:
5. Изменение прав доступа к файлам и каталогам для групп пользователей
- Создать группу пользователей
friends
, добавить в нее пользователейLab1_Vlad
,Lab1_Misha
,Lab1_Alex
.
Зайти в “Управление компьютером”, перейти в “Служебные программы” — “Локальные пользователи и группы” — “Группы” и нажать “Действие” — “Создать группу”. Написать имя группы, добавить пользователей и нажать кнопку “Создать”.
Создание группы friends
Группа friends
- Создать директорию
friendDirectory
, во вкладке безопасность созданной директории оставить пустым список элементов разрешений. Совершить попытку прочитать содержимое директории от имени пользователяLab1_Vlad
. Объяснить результат.
Создаем папку и в свойствах во вкладке “Безопасность” нажимаем кнопку “Дополнительно”. Там сначала отключаем наследование, а затем удаляем всех пользователей и группы.
Предупреждение о последствиях
Прочитать содержимое директории friendDirectory
не удалось, так как мы очистили список групп и пользователей, которым разрешен какой-либо доступ к этой папке. Теперь только владелец сможет изменить разрешения.
- Разрешить членам группы
friends
полный доступ к директорииfriendDirectory
, ее подпапкам и файлам. От имени пользователяLab1_Vlad
войти в директорию и создать в ней файлfriendList.txt
с произвольным содержимым. Объяснить результат.
Пользователь Lab1_Vlad
состоит в группе friends
, поэтому он имеет полный доступ к данной директории.
- Добавить в список элементов разрешений запись, запрещающую членам группы
friends
полный доступ к директорииfriendDirectory
, ее подпапкам и файлам. Совершить попытку прочитать содержимое файлаfriendList.txt
от имени пользователяLab1_Vlad
. Объяснить результат.
Запрещающая полный доступ запись
Предупреждение при применении запрещающей записи
Отказано в доступе, так как запрещающие записи имеют более высокий приоритет, чем разрешающие. (Предупреждение выше)
- Добавить в список элементов разрешений запись, разрешающую пользователю
Lab1_Vlad
полный доступ к директорииfriendDirectory
, ее подпапкам и файлам. Совершить попытку прочитать содержимое файлаfriendList.txt
от имени пользователяLab1_Vlad
. Объяснить результат.
Разрешающая запись для Lab1_Vlad
Отказано в доступе по причине того, что запрещающие записи имеют более высокий приоритет нежели разрешающие.
6. Работа с маркером доступа
- Запустить командную строку в обычном режиме. Посмотреть с помощью команды
whoami
командной строки идентификаторы пользователейLab1_Alex
,vladislav
, доступные им привилегии, а также группы, в которые входят данные пользователи.
Пользователь Lab1_Alex
Пользователь vladislav
- Запустить командную строку в режиме работы от имени администратора. Посмотреть с помощью команды
whoami
командной строки идентификаторы пользователейLab1_Alex
,vladislav
доступные им привилегии, а также группы, в которые входят данные пользователи.
Пользователь Lab1_Alex
Пользователь vladislav
- Описать различия в полученных списках групп и привилегий. Обратить внимание на атрибуты группы Администраторы.
При запуске от имени администратора для Lab1_Alex
:
- Группы:
- Появляется группа
friends
(VLADISLAV340F\friends
) Обязательная метка\Средний обязательный уровень
изменяется наОбязательная метка\Высокий обязательный уровень
- Появляется группа
- Привилегии:
- Добавляется
SeTakeOwnershipPrivilege
- Добавляется
При запуске от имени администратора для vladislav
:
- Группы:
Обязательная метка\Средний обязательный уровень
изменяется наОбязательная метка\Высокий обязательный уровень
- Атрибуты групп
NT Authority\Локальная учетная запись и член группы “Администраторы”
иBUILTIN\Администраторы
меняются сГруппа, используемая только для запрета
наОбязательная группа, Включены по умолчанию, Включенная группа
иОбязательная группа, Включены по умолчанию, Включенная группа, Владелец группы
соответственно
- Привилегии:
- Добавляются привилегии
SeCreateTokenPrivilege
,SeIncreaseQuotaPrivilege
,SeSecurityPrivilege
,SeTakeOwnershipPrivilege
,SeLoadDriverPrivilege
,SeSystemProfilePrivilege
,SeSystemtimePrivilege
,SeProfileSingleProcessPrivilege
,SeIncreaseBasePriorityPrivilege
,SeCreatePagefilePrivilege
,SeBackupPrivilege
,SeRestorePrivilege
,SeDebugPrivilege
,SeSystemEnvironmentPrivilege
,SeRemoteShutdownPrivilege
,SeManageVolumePrivilege
,SeImpersonatePrivilege
,SeCreateGlobalPrivilege
,SeCreateSymbolicLinkPrivilege
,SeDelegateSessionUserImpersonatePrivilege
. Из нихSeImpersonatePrivilege
иSeCreateGlobalPrivilege
в состояниивключен
, остальные —Отключен
.
- Добавляются привилегии
7. Работа с аудитом доступа к файлу
- Создать директорию
4UDi7
и разрешить к ней, ее подпапкам и файлам полный доступ всех пользователей.
- Создать файл
secret.txt
с произвольным содержимым в директории4UDi7
и включить для него аудит на чтение для всех пользователей.
Сначала необходимо включить аудит доступа к объектам. Для этого заходим в “Локальную политику безопасности” → “Локальные политики” → “Политика аудита” и там выбираем политику “Аудит доступа к объектам”, в параметрах ставим обе галочки.
Аудит доступа к объектам
Теперь в свойствах файла secret.txt
переходим во вкладку “Безопасность”, выбираем “Дополнительно”. Там во вкладке “Аудит” нажимаем на кнопку “Добавить”.
Настраиваем параметры:
- Субъект:
Все
(группа) - Тип:
Все
(Успех и отказ) - Общие разрешения:
Чтение
Добавляем, применяем.
- Прочитать содержимое файла
secret.txt
пользователемLab1_Vlad
. Удалить содержимое этого файла, сохранить пустой текстовый файлsecret.txt
Команда
copy /y NUL secret.txt
очищает файл
- Просмотреть результат аудита и убедиться в наличии в журнале записей с попыткой чтения и записи данных для файла
secret.txt
и пользователяLab1_Vlad
.
Открываем “Управление компьютером” и переходим в “Служебные программы” → “Просмотр событий” → “Журналы Windows” → “Безопасность”. С помощью функции поиска было найдено следующее:
Выводы
В данной лабораторной работе были освоены “Локальная политика безопасности” и “Управление компьютером”. В целом, стало понятно как настроить права доступа к файлам/папкам, как ведет себя наследование прав. Также был настроен аудит файла, получилось отследить взаимодействия с ним. Стал более понятен процесс автоматизации и настройки Windows.
Контрольные вопросы
1. Что лежит в основе управления доступом в ОС Windows?
Дискреционное управление доступом
2. Какие разрешения можно предоставить любому объекту в ОС Windows?
Общие разрешения:
- Полный доступ
- Изменение
- Чтение и выполнение
- Чтение
- Запись
Дополнительные разрешения:
- Траверс папок / выполнение файлов
- Содержание папки / чтение данных
- Чтение атрибутов
- Чтение дополнительных атрибутов
- Создание файлов / запись данных
- Создание папок / дозапись данных
- Запись атрибутов
- Запись дополнительных атрибутов
- Удаление
- Чтение разрешений
- Смена разрешений
- Смена владельца
3. Каким образом можно назначать права доступа к файлу в ОС Windows?
Необходимо зайти в свойства файла, раздел “Безопасность”. При помощи кнопки “Изменить…” можно назначить общие разрешения, а при помощи кнопки “Дополнительно” — так же дополнительные. Для этого выбираем пользователя или группу, а затем выбираем нужные разрешения для нее.
4. Каким образом можно назначать привилегии пользователей в ОС Windows?
Необходимо зайти в “Локальную политику безопасности” (secpol.msc) → “Локальные политики” → “Назначение прав пользователя”. Там выбираем нужную привилегию и добавляем туда пользователя.