Управление правами доступа: чтение и запись без права удаления

Файловые права предотвращают несанкционированный доступ и изменение содержимого. Часто требуется, чтобы пользователи могли читать и изменять файлы, но не могли их удалить. Это полезно для совместной работы, резервных копий и защиты критичных данных.
Важно: права — мощный инструмент. Ошибки в настройке могут привести к потере доступа или невозможности обновления файлов. Всегда тестируйте изменения на тестовой папке или делайте резервную копию текущих ACL.
Можно ли удалять файлы с правами чтения и записи?
Права «Чтение» и «Запись» обычно позволяют изменять содержимое и — в стандартной конфигурации — удалять файлы. Но Windows хранит отдельные разрешения на удаление (Delete и Delete subfolders and files). Если явно снять эти разрешения, пользователь останется с возможностью читать и модифицировать файлы, но не сможет их удалить.
Ключевой термин: ACL — список управления доступом (access control list), набор разрешений, привязанных к учётным записям и группам.
Как настроить права чтения и записи
Ниже перечислены три рабочих способа с пошаговыми инструкциями и снимками экрана.
1. Свойства файла или папки
Щёлкните правой кнопкой по файлу или папке и выберите Свойства.

Перейдите на вкладку «Безопасность» и нажмите Изменить для редактирования базовых разрешений.

Если нужной учётной записи нет в списке, нажмите Добавить.

Введите имя учётной записи, нажмите «Проверить имена», затем OK.

Выберите учётную запись, в колонке «Разрешить» отметьте нужные права (Чтение, Запись) и нажмите Применить и OK.

Примечание: В этом окне вы задаёте базовые права. Для точного контроля (например, снятия права на удаление) используйте расширенные настройки (следующий шаг).
2. Расширенные параметры безопасности
Щёлкните правой кнопкой по файлу или папке → Свойства.
На вкладке «Безопасность» нажмите Дополнительно.

Если нужной учётной записи нет, нажмите Добавить.

Нажмите Выбрать субъект и укажите пользователя/группу.

После выбора субъекта отметьте нужные индивидуальные разрешения (например, Read и Write), затем OK.

Нажмите Применить и OK.
Совет: здесь же можно снять галочки «Удалить» и «Удалять подпапки и файлы», чтобы заблокировать удаление при сохранении права записи.
3. Командная строка (icacls)
Для администраторов и скриптов подходящая опция — icacls.
Нажмите Windows + X и выберите Терминал (администратор).

Выдайте права чтения и записи пользователю Test для папки:
icacls "C:\Users\WindowsReport\New folder" /grant "Test:(R,W)" 
- Команда выдаст Test права чтения и записи к указанной папке. Для применения к подкаталогам и файлам используйте ключ /T.
Важно: icacls мощный инструмент. Проверьте синтаксис и выполняйте команды с правами администратора.
Как убрать право удаления
Ниже два способа — через расширенные настройки и через icacls.
1. Через расширенные параметры безопасности
Откройте свойства папки → вкладка «Безопасность» → Дополнительно.
Дважды щёлкните нужную учётную запись, затем нажмите Показать дополнительные разрешения.
Уберите галочки с «Удалить» и «Удалять подпапки и файлы». Нажмите OK.

После этого пользователь сможет создавать и изменять файлы, но при попытке удалить получит отказ в доступе.
2. Через терминал
- Откройте Терминал (администратор).
- Удалите право на удаление для пользователя Test:
icacls "C:\Users\WindowsReport\New folder" /remove "Test:D" 
- Чтобы убрать право удаления у папки и всех её подпапок и файлов, используйте:
icacls "C:\Users\WindowsReport\New folder" /remove "Test:(DC)"Где DC = Delete Child (удаление дочерних объектов). Тщательно тестируйте эффекты.
Контроль и обслуживание прав
- Планируйте права заранее: назначайте только необходимые минимальные привилегии.
- Используйте встроенные группы Windows (например, Users, Administrators) для упрощения управления.
- Избегайте широкого использования Deny: неправильный Deny может перекрыть нужные Allow и привести к потерям доступа.
- Документируйте изменения и сохраняйте резервные копии ACL (icacls /save /restore) перед массовыми правками.
Важно: при управлении на нескольких компьютерах используйте централизованные решения (Group Policy, SCCM, Intune) и храните политики в контролируемом реестре.
Роли и чек‑листы (кто что делает)
Администратор:
- Проверить текущие ACL командой icacls.
- Сделать бэкап ACL: icacls “C:\путь” /save aclbackup.txt /t
- Настроить права и протестировать с учётной записью тестового пользователя.
- Задокументировать изменения.
Power user:
- Запросить у администратора нужные права, указывать конкретную папку и причину.
- Тестировать поведение приложения при отключённом праве удаления.
Обычный пользователь:
- Сообщать о любой ошибке доступа администратору.
- Не пытаться изменять права через сторонние утилиты без разрешения.
Пошаговый SOP для защиты критичной папки
- Создать тестовую папку “New folder” и поместить туда контрольные файлы.
- Сделать бэкап текущих ACL: icacls “C:\Users\WindowsReport\New folder” /save acl-backup.txt /t
- Назначить права чтения/записи: icacls “…” /grant “GroupOrUser:(R,W)” /T
- В расширенных разрешениях снять права Delete и Delete subfolders and files для тех же учёток.
- Проверить: войти под тестовым пользователем и попытаться удалить файл.
- Если что-то пошло не так, восстановить ACL: icacls “C:\” /restore acl-backup.txt
- Задокументировать результат и дату изменения.
План отката и восстановление прав (Runbook)
- Перед изменениями выполнить:
icacls "C:\Users\WindowsReport\New folder" /save acl-backup.txt /T - В случае проблем восстановить:
icacls "C:\" /restore acl-backup.txt - Проверить логи событий и права доступа. При необходимости откатить изменения групповой политики.
Тестовые случаи и критерии приёмки
- Тест 1: Пользователь A должен иметь возможность открыть файл и сохранить изменения — результат: OK.
- Тест 2: Пользователь A не должен иметь возможности удалить файл — результат: доступ запрещён.
- Тест 3: Администратор должен сохранять возможность удалять файлы — результат: OK.
Критерии приёмки:
- Все тесты выполняются на чистой тестовой среде.
- Изменения задокументированы и имеют метки времени.
Когда такой подход не сработает
- Если приложение работает от имени сервиса с привилегиями SYSTEM, локальные изменения прав для пользователя не ограничат удаление.
- Если сеть использует иной протокол (например, NFS на Linux) — описанные права Windows неприменимы.
- При неверной конфигурации наследования ACL родительская папка может перезаписать настройки дочерней.
Совет по безопасности
- По возможности включайте аудит удаления файлов в политиках безопасности, чтобы отслеживать попытки удаления.
- Храните критичные данные в защищённых хранилищах и делайте регулярные резервные копии.
Мини‑глоссарий (одна строка для термина)
- ACL: список управления доступом — набор правил, кто и что может делать с объектом.
- icacls: утилита Windows для просмотра и изменения ACL.
- Delete/Delete Child: отдельные разрешения, отвечающие за удаление объектов и дочерних объектов.
Визуальный поток принятия решения
flowchart TD
A[Нужно ли запрещать удаление?] -->|Да| B[Можно ли изменить приложение?]
A -->|Нет| Z[Оставить стандартные права]
B -->|Да| C[Отключить права удаления через приложение]
B -->|Нет| D[Настроить ACL: снять Delete и Delete child]
D --> E[Протестировать с тестовой учётной записью]
E --> F{Удаление запрещено?}
F -->|Да| G[Внедрить и задокументировать]
F -->|Нет| H[Проверить наследование и права сервиса]Частые вопросы
Можно ли запретить удаление, но разрешить переименование?
Да. Переименование обычно требует права записи в родительской директории; при снятом праве Delete переименование может вести себя по-разному в зависимости от приложения. Обязательно тестируйте.
Вернёт ли icacls старые права после удаления записи в /remove?
Команда /remove удаляет указанные разрешения для учётной записи. До удаления рекомендуется сохранить ACL командой /save для восстановления.
Как управлять правами на многих компьютерах?
Используйте групповые политики (GPO) или централизованные инструменты управления (Intune, SCCM) и автоматизацию скриптов.
Итог
Настройка прав чтения и записи без права удаления достижима и управляемая: для базовых задач достаточно свойств файла, для точного контроля — расширенные параметры безопасности или icacls. Всегда делайте резервную копию ACL, тестируйте изменения и документируйте процесс.
Короткие рекомендации:
- Используйте тестовую среду;
- Бэкапьте ACL перед изменениями;
- Документируйте и проверяйте наследование прав.
Спасибо за внимание. Поделитесь в комментариях, какие методы управления правами вы предпочитаете и в каких сценариях.
Похожие материалы
Метки времени в комментариях YouTube — как добавить
Включить Family Options в Steam — быстрый родительский контроль
Ошибка Xbox 80151912 — как исправить
Как открыть файлы TXF — TurboTax и варианты
Миграция с .NET Core 3.1 на .NET 6 — руководство