Объявления
Секреты Windows 7: Дело о потерянных правах

Столкнулся на днях с любопытной ситуацией: пользователи не могут перезаписывать файл, даже обладая разрешениями Full Control на него. Обычный текстовый файл вида ImportantInformation.txt,сохранённый в корне системного диска (C:\), работа с ним осуществляется в Notepad. Эта программа данные обычно пишет напрямую, никаких ужимок и гримас не строит, как любит делать MS Word. Итого, администраторы всё успешно сохраняют, рядовые пользователи — нет. Разрешения NTFS одинаковые.

        Пришлось взять в руки Аудит и включить слежение за неудачными попытками доступа. Картинка начала вырисовываться совсем непонятная.

 

Секреты Windows 7: Дело о потерянных правах

        Как мы видим из текста сообщения, доступ на запись был заблокирован проверкой Политики Целостности (Integrity Policy check). Первая же ссылка на MSDN (http://msdn.microsoft.com/en-us/library/bb625963.aspx) пускается в пространные объяснения, не давая ответа на вопрос «Что делать-то будем? Людям работать нужно!» Помог Mark Minasi: http://www.minasi.com/apps/

        Объясняя проблему вкратце, файл C:\ImportantInformation.txt унаследовал с корня системного диска высокий Integrity Level, не разрешающий рядовым пользователям операции выше, чем просто чтение. А поскольку система контроля целостности стоит выше, чем разрешения NTFS, то ни Modify, ни даже Full Control тут делу не поможет. Что делать? Берите у Минаси программу chml и снизьте уровень целостности нужного файла до среднего, выполнив команду:

chml C:\ImportantInformation.txt -l:m

А можно решить вопрос и встроенной командой:

icacls C:\ImportantInformation.txt /setintegritylevel M

 

P. S.         Я прекрасно знаю, что сохранять пользовательские файлы в корне системного диска — тяжкий грех и нарушение Протокола. Почему же меня этот вопрос так волновал? Да потому, что существуют чудесатые поставщики программного обеспечения, у которых работают не менее чудесатые программисты. Знаете, что они мне ответили на вопрос «Зачем ваша программа пытается писать и в Program Files, и в Temp, и в свою папку, и в корень системного диска?» «Наша бухгалтерская программа написана согласно всем правилам Кабинета Министров Латвийской Республики за номером таким-то. Эти правила писать в корень диска C: не запрещают.»

источник

Поделитесь полезным материалом с друзьями:


Вам помог этот совет? Вы можете помочь проекту, пожертвовав на его развитие любую сумму по своему усмотрению. Например, 20 рублей. Или больше :)

Передать $пасибо! нашему сайту через систему Webmoney
Добавление комментария:
Ваше Имя:
Ваш E-Mail:

Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищённой ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Код:
Включите эту картинку для отображения кода безопасности
обновлять капчу