Странные права доступа к файлам, если приложения запускаются от имени администратора - PullRequest
2 голосов
/ 09 апреля 2011

Моя программа должна запускаться от имени администратора и создавать некоторые файлы. Если я запускаю его вручную, щелкнув правой кнопкой мыши по значку и выбрав «Запуск от имени администратора» - все в порядке - все пользователи имеют доступ к созданным файлам. Но если программа, запущенная из другой программы ShellExecuteEx с глаголом runas, созданные файлы не имеют доступа к группе BUILTIN \ Users. Только администраторские пользователи могут читать эти файлы.

1 Ответ

0 голосов
/ 19 июня 2011

Почему бы не установить флаг компоновщика (VC2008 и выше): Линкер -> Манифест -> Уровень выполнения UAC: requireAdministrator (/ level = 'requireAdministrator') *

РЕДАКТИРОВАТЬ: я повторно- прочитал вопрос и обнаружил, что проблема, вероятно, связана с безопасностью файлов NTFS.Это не ошибка вашей программы, но это сделано специально.Любой пользователь, который создает файлы и папки , получает разрешения только для этого пользователя.

Войдите как администратор, создайте папку.Затем снова войдите в систему как другой пользователь (как вам нравится) и попробуйте получить доступ / прочитать / написать / удалить эту папку - вы не можете.Разрешения предоставляются пользователю-администратору, а не всем / группе пользователей.

...