Разрешения NTFS

Аватара пользователя
vasketsov

Re: Разрешения NTFS

Сообщение vasketsov »

Цитата:



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



"Чтения достаточно для запуска"... Э-эх. Это лажа.



Для чего нужно так было делать Microsoft? Для чего выделять ещё и execute, если его совершенно не реализовывать?

и почему, "Чтения достаточно для записи", если как только, это пресловутое спец. разрешение FILE_READ_ATTRIBUTES (которое по вашему нигде не используется), убрать - то ЗАПУСКСАТЬ командные файлы при разрешении READ  станивится нельзя?



Ясно, что можно скопировать и запустить, но это не то...




Цитата:



Про WRITE - даже комментировать не хочу, заметь, доступ на запись не предполагает необходимость в общем случае доступ на чтение. Лучше б написал откуда взял это.



В смысле где взял? В хелпе и взял (в хелп - индекс - "file permissions&quotИзображение, на Microsoft.com  и взял -
http://support.microsoft.com/default...;en-us;Q308419
.

По любому "Read Permissions" - указан как вклчающийся для разрешения write.

Я уже говорил что так написано всюду. Где вот вы искали, что это не нашли, это я и пытаюсь узнать.
Аватара пользователя
Fidel

Re: Разрешения NTFS

Сообщение Fidel »

SkyF

Открою "страшный секрет" как запускаются программы на NT.



а) открывается файл с правом доступа FILE_EXECUTE | SYNCHRONIZE (замечу, что здесь даже не требуется FILE_READ_DATA, даже не спорьте тут, сам пишу такой код на Native Nt Api, и он работает, FILE_EXECUTE тоже лишь бы было, по идее);



б) создается для этого файла секция (объект Section) с правом SECTION_ALL_ACCESS и закрывается файл;



в) создается для этой секции объект Process;



г) пара манипуляций с секцией для вычисления точки входа и прочих параметров;



д) закрывается сеция;



е) создается первичный поток;



ну и так далее.



Когда загрузчик поднимает DLL-ки в адресное пространство, он их читает в память, и здесь и необходимо право на чтение, а так как сам файл тоже оформляется в виде DLL (в этом смысле), то на него тоже это право требуется. FILE_READ_ATTRIBUTES может использоваться, а может и нет, но в FILE_READ_EA точно необходимости нет.




Цитата:



FILE_READ_ATTRIBUTES (которое по вашему нигде не используется), убрать - то ЗАПУСКСАТЬ командные файлы при разрешении READ *станивится нельзя?



Как я понял, ты в начале темы READ_EA снимал? Изображение



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



[s]Исправлено: vasketsov, 19:17 22-10-2002[/s]
Аватара пользователя
SkyF

Re: Разрешения NTFS

Сообщение SkyF »

Цитата:



Как я понял, ты в начале темы READ_EA снимал?  



Да, очепятался просто.



Фразу следует читать так:

"если как только, это пресловутое спец. разрешение FILE_READ_EA  (которое по вашему нигде не используется), убрать - то ЗАПУСКСАТЬ командные файлы при разрешении READ  станивится нельзя? "



В любом случае, создание потоков и объектов меня не интересует.



Fidel - Спасибо. Ну вот то что мне и было нужно. Однако только в ХР Microsoft мягко поправила документацию.
Ответить

Вернуться в «Microsoft Windows NT/2000/2003»