1

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

Я установил эти разрешения, используя обычный пользовательский интерфейс, который Windows 7 Pro x64 предоставляет для этой цели. Права доступа, которые я установил:

Разрешения, которые я установил

Это работает в принципе. Я могу скопировать файлы и подпапки в эти папки и не могу удалить их потом. Но на самом деле это невозможно использовать из-за следующих странностей:

1. Я не могу переименовать файлы или папки. Когда я пытаюсь, я получаю сообщение "Отказано в доступе".

Это очень удивляет меня, потому что (как вы можете видеть на скриншоте) я отказал только в разрешениях "Полный доступ", "Удалить подпапки и файлы", "Удалить" и "Взять в собственность". Поэтому я спрашиваю себя, какое отношение имеет переименование к удалению.

Это происходит из-за тупой реализации Windows Explorer, или это в основном проблема API?

2. Я не могу переместить файлы или папки. Когда я пытаюсь, я получаю сообщение "Отказано в доступе".

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

3. Я не могу создавать новые файлы или папки напрямую.

Ну, я действительно могу, но это бесполезно. Например, когда я создаю новую папку, она называется "Новая папка", и когда я пытаюсь изменить ее имя на нужное мне, возникает проблема 1).

Отсюда мой вопрос:

Кто-нибудь знает конфигурацию или трюк, который позволяет мне (самое важное в первую очередь)

  • чтобы предотвратить удаление файлов или папок, но тем не менее

  • переименовывать файлы и папки

  • переместить файлы и папки?

1 ответ1

2

Ваша проблема не с Проводником, а с Windows и тем, как он работает.

Разрешения, на которые вы ссылаетесь выше, являются разрешениями для каталога, а не для самих файлов. Это означает, что для переименования файла Windows необходимо удалить в каталоге старое имя и создать новое, для чего, в частности, требуется разрешение на удаление.

Следовательно, Windows не имеет и не нуждается в разрешении на "переименование", и ни один программный продукт также не может предоставить его.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .