Права доступа к файлам NTFS не проходят проверку - PullRequest
0 голосов
/ 12 ноября 2010

Мне нужно (программно) предоставить разрешения на чтение для NETWORK SERVICE для файла глубоко внутри домашнего каталога пользователя. Я сделал это, запустив cacls.exe, и подумал, что все хорошо, но, проверив его, запустив командную строку как NETWORK SERVICE , обнаружил, что type <filename> дает мне " Доступ запрещен."

Конечно, NETWORK SERVICE не имеет разрешений на чтение для каталога, но, насколько я понимаю, право пользователя «Обход обхода» должно в любом случае разрешать ему чтение файла. Это право предоставляется NETWORK SERVICE по умолчанию, и я подтвердил в локальной политике безопасности, что это не было изменено. Я проверил это, прочитав файл непосредственно в каталоге пользователя, и все еще получал «Доступ запрещен», пока я не предоставил СЕТЕВОЙ СЕРВИС «Список папок / чтение данных» прямо в каталоге.

Мои вопросы:

  1. Почему это происходит? Почему «обход обхода» не работает так, как мне кажется?
  2. Что мне с этим делать? Если мне действительно нужно предоставить разрешения на чтение для каждого каталога в пути, какой самый простой способ сделать это, из cacls или сценария PowerShell?

Я тестирую это на Windows 7 x64, но мне нужно, чтобы он работал на Windows XP и выше, как 32-разрядной, так и 64-разрядной.

1 Ответ

0 голосов
/ 12 ноября 2010

Похоже, проблема в команде type.Когда я пытаюсь прочитать файл из скрипта Python, он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...