2015-04-14 1 views
1

Windows 7, SP 1. У меня есть файл в C: \, который я хочу написать (я знаю, я не должен, но давайте игнорируйте это). Я знаю, что как пользователь и даже как администратор без повышения я не могу. Поэтому я добавил разрешение на запись для группы Пользователи, но это не помогает. Даже добавление моего пользователя с разрешением «полного контроля» не помогает. Тем не менее, в диалоговом окне «Эффективные разрешения» отображается доступ для записи для моего пользователя.Невозможно записать файл в C: , хотя я установил права на запись

Как установить права доступа к файлам, чтобы я мог писать в файл? Что мне не хватает?

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

Редактировать 2: Любой должен быть в состоянии попробовать для себя: просто откройте приглашение администратора, создайте текстовый файл в C: \, а затем попытайтесь получить к нему доступ из обычного проводника без повышения.

+0

Вы не можете иметь повышенный доступ без повышения, и без разрешений на высоту, требующих повышенного доступа, игнорируются. Единственными параметрами являются радикальные icacls/setintegritylevel на C: \ или отключение UAC. Проще говоря, не пишите в C: \ –

+2

См. [Обязательный контроль целостности] (https://msdn.microsoft.com/en-us/library/bb648648), а для более подробного объяснения читайте [Windows Vista Технический справочник механизма целостности] (https://msdn.microsoft.com/en-us/library/bb625964). Обратите внимание, что системный диск имеет ярлык с высокой целостностью, который наследуется файлами в корневом каталоге. Вы можете использовать [icacls] (https://technet.microsoft.com/en-us/library/cc753525), чтобы установить уровень DACL и уровень целостности только в корневом каталоге без изменения самого каталога. – eryksun

+0

@eryksun: Это было! Благодаря! Этот ответ действительно сложно найти в сети, если вы не знаете, что искать. Пожалуйста, ответьте на него, чтобы я мог его продвинуть. – cxxl

ответ

1

eryksun Как писал в комментариях, это решает и объясняет проблему:

Mandatory Integrity Control См, и больше в глубине объяснения читать Windows Vista Integrity Mechanism Technical Reference. Примечание о том, что системный диск имеет ярлык с высокой целостностью, который наследуется файлами в корневом каталоге. Вы можете использовать icacls, чтобы установить уровень DACL и уровень целостности только в корневом каталоге без изменения самой директории.

На практике это означает, что icacls C:\somefile.txt /setintegritylevel M делает трюк.

Смежные вопросы