Разрешения NTFS – создание файлов и папок, но предотвращение удаления и модификации

Цель: общая папка, в которой пользователи могут создавать файлы, но не изменять или удалять их. Пользователи также должны иметь возможность создавать подпапки.

Я предоставил моей группе безопасности следующие расширенные разрешения NTFS:

  • Траверс папки / файл выполнения
  • Список папок / Чтение данных
  • Чтение атрибутов
  • Прочитать расширенные атрибуты
  • Создание файлов / запись данных
  • Чтение разрешений

Благодаря процессу проб и ошибок я обнаружил, что НЕ предоставив «Write Attributes», это может помешать пользователю изменять или удалять существующие файлы (это то, что я хочу). Однако мне очень хотелось бы объяснить, почему именно это работает. Единственная теория, которую я имею, заключается в том, что удаление / изменение файла изменяет атрибуты файла? Здесь обсуждается одно и то же .

РЕДАКТИРОВАТЬ. Вторая часть моего вопроса не имеет значения, я подумал, что выбрал только «Создать файлы / Запись данных», но у меня также есть «Создать папки / Добавленные данные».

Кроме того, я хочу, чтобы пользователи могли создавать подпапки в корне, и я обнаружил, что, предоставляя «Создать файлы / записи данных», это позволяет именно это. Но опять же, название предполагает, что это разрешение должно просто разрешить создание файлов, а не папок, поэтому я не понимаю, почему он работает? Раскрытие Microsoft атрибута «Создать файлы / Запись данных» – «Для папок» указывает, может ли пользователь создавать файлы в папке. В файлах указывается, может ли пользователь изменять файлы или перезаписывать данные ». Не существует упоминания о возможности создания вложенных папок внутри папки?

Итак, в основном, я добился того, что я решил сделать, но не понимаю, почему он работает?

Благодаря процессу проб и ошибок я обнаружил, что НЕ предоставив «Write Attributes», это может помешать пользователю изменять или удалять существующие файлы (это то, что я хочу). Однако мне очень хотелось бы объяснить, почему именно это работает.

Это зависит от того, как происходит изменение файла. Когда вы изменяете файл, операционная система фактически не изменяет файл, который вы редактируете. Он заменяет файл, который вы редактируете, с копией, которую вы изменили. Таким образом, по существу, модификация файла берет копию исходного файла, загружает его в память (там, где вы его изменяете), удаляет исходный файл и создает новый файл с тем же именем в том же месте. Вот почему для изменения файлов необходимы разрешения на Delete NTFS. Фактически, если вы проверяете Advanced permissions для объекта NTFS, разрешения на изменение нет, модификация – это просто удаление и запись.

Итак, чтобы создать эту новую копию файла, он должен записать атрибуты файла этого нового файла … и, конечно, для записи атрибутов требуется разрешение « Write attributes NTFS». Вот почему вы не можете изменять файл без разрешения на Write attributes NTFS.

В частности, благодаря чату с Fitzroy , атрибут файла NTFS, который должен быть написан в контексте безопасности пользователя (который не может быть без разрешения Write Attributes ), при изменении файла, но не при создании совершенно нового , Будет LastModificationTime файла. Это входит в атрибут Standard Information , согласно одному из разработчиков Microsoft Core Team .

Это правда: отсутствие разрешения «Write Attributes» приводит к тому, что пользователь не может изменять свои файлы. И, согласно документации Microsoft, это не имеет смысла. Но изменение файла не означает удаление и восстановление его. Когда приложение открывает файл для модификации, операционная система не удаляет файл. Но то, что делает ОС, – это блокировка файла для предотвращения одновременной модификации. Я предполагаю, что блокировка файла подпадает под понятие «изменение атрибутов файлов». Таким образом, неспособность изменять атрибуты приводит к невозможности изменить файл.

Во второй части вашего вопроса я не могу воспроизвести это. Существуют два разных разрешения, которые применяются к папке: «Создать файлы / …» и «Создать папки / …», и они работали согласно документации во время моих тестов.

  • Почему дефрагментация диска C увеличила мое свободное дисковое пространство на 10 ГБ?
  • Если я использую «компактный» для сжатия диска NTFS, как я могу избежать сжатия сжатых файлов?
  • Получение через EFS (зашифрованная файловая система)
  • Как удалить файлы с внешнего диска NTFS с помощью OS X?
  • Мнения по решению NTFS для Mac?
  • Почему параметр сжатия NTFS игнорируется некоторыми приложениями?
  • Смонтируйте раздел Windows с разрешением на чтение и запись, если возможно
  • В диалоговом окне свойств диска Windows 7 отображается больше используемого пространства, чем общий размер файлов на диске
  • Доступ к предыдущему диску XP в качестве второго диска под Windows 7 без Chowning
  • Изменить размер основного раздела
  • Какая файловая система для совместного использования (чтение / запись) внешнего диска PC / Mac?
  • Давайте будем гением компьютера.