Выполнять команды от имени администратора из cygwin/mintty

Я запускаю mintty на cygwin в Windows 7. У меня mintty.exe всегда настроен на «Запуск от имени администратора». Я пытаюсь запустить cmake из minty для создания решения Visual Studio 11.

Однако когда cmake пытается выполнить тестовую компиляцию, это завершается ошибкой, так как CL.exe не имеет достаточных привилегий для запуска. Я настроил cmake.exe, devenv.exe и все CL.exe, которые смог найти на своем диске, на «Запуск от имени администратора». , но это не помогло.

Когда я запускаю ту же команду cmake из командной строки Windows, запущенной с правами администратора, она выполняется успешно. Это говорит мне о том, что исполняемые файлы cmake и CL настроены правильно, но каким-то образом вызов их из mintty/cygwin запускает их без прав администратора.

Любые идеи о том, как я могу настроить cygwin для запуска всех внешних исполняемых файлов с помощью параметра «Запуск от имени администратора»?

EDIT: Еще немного информации о комбинациях, которые я пробовал, и их результатах.

Запуск cmake (без прав администратора) в cmd (без прав администратора) приводит к Could not COPY_FILE ошибкам, описанным здесь. Предлагаемое решение — запустить devenv.exe и cmake.exe от имени администратора.

Запуск cmake (без прав администратора) в cmd (с правами администратора) работает. Я получаю приглашение администратора при открытии командной строки, нет приглашения запустить cmake.

Запуск cmake (с правами администратора) в cmd (без прав администратора) работает. Появляется новое командное окно, и я получаю приглашение администратора запустить cmake.

Запуск cmake (admin) в cmd (admin) работает. Я получаю приглашение администратора при открытии командной строки, нет приглашения запустить cmake.

Запуск cmake (без прав администратора) в mintty (без прав администратора) дает тот же результат, что и cmake без прав администратора в cmd без прав администратора.

Запуск cmake (без прав администратора) в mintty (с правами администратора) приводит к другой ошибке (описанной здесь), что в основном сводится к тому, что cl.exe не работает от имени администратора. Я получаю приглашение администратора при запуске minty.

Запуск cmake (с правами администратора) в mintty (без прав администратора) приводит к Permission denied для исполняемого файла cmake.

Запуск cmake (admin) в mintty (admin) дает тот же результат, что и cmake без прав администратора и mintty с правами администратора.


person marco1475    schedule 05.04.2012    source источник
comment
Вы можете опубликовать свой Edit 2 как ответ на свой вопрос. Тем не менее поведение странное.   -  person Alexey Ivanov    schedule 06.04.2012


Ответы (1)


(Отвечено OP в редактировании вопроса. Преобразовано в ответ вики сообщества. См. Вопрос без ответов, но проблема решена в комментариях (или дополнена в чате) )

ОП написал:

Хорошо, мне удалось "решить" это. Проблема заключалась в том, что я всегда запускал Visual Studio 11 от имени администратора. (Я сделал это, чтобы подключить отладчик к работающему процессу с правами администратора, которые мне нужны для работы.) Когда VS11 всегда запускался от имени администратора, требовалось, чтобы cmake запускался от имени администратора, что, в свою очередь, требовало cmd или mintty для запускать от имени администратора.

Теперь, почему это сработало с cmd, а не с mintty, то есть почему эскалация администратора не дошла до cl.exe, я не знаю.

person Community    schedule 30.01.2015