20

Изначально Python был установлен в C:\Program Files\Python, но он изменился около 1.5. Что послужило причиной этого решения? Это плохая идея, чтобы изменить каталог обратно, и если да, то почему?

1 ответ1

22

По-видимому, это является причиной 7-летнего обсуждения среди разработчиков Python.

Следующее обоснование было дано авторами:

Автор: Тим Питерс (tim.peters) * (комментатор Python) Дата: 2006-03-22 20:27

Давным-давно Python установил (по умолчанию) в "Program Files". Я изменил это из-за бесконечных проблем, создаваемых чертовым встроенным пространством, и более редких, но более тонких проблем из-за того, что "Program Files" не является именем DOSish 8.3. В целом, я все еще думаю, что это было хорошее изменение.

Обратите внимание, что, в отличие от большинства приложений Windows (которые основаны на графическом интерфейсе), языки программирования предназначены для интенсивного использования из командной строки, запускаются скриптами и так далее. Вот что делает пробел на пути бесконечно подверженным ошибкам. В WinXP Pro я заметил, что MS по-прежнему старается использовать собственные инструменты командной строки / сценариев (sort.exe, ipconfig.exe, cscript.exe, ..., даже notepad.exe) в чистом DOSish 8.3 без пробелов дорожки ;-)


Кроме того: из-за возможности повышения привилегий использование C:\ вместо C:\ Program Files\ может представлять угрозу безопасности:

Автор: Мика Элоранта (mel) Дата: 2005-09-07 21:34

Целевой каталог установки по умолчанию, где Python устанавливается в Windows, находится непосредственно в корневом каталоге системного диска (например, «C:\python24»). Права доступа к файлам и каталогам, унаследованные каталогом python24 от корневого каталога, недостаточно безопасны для хранения двоичных файлов приложения.

Microsoft, исходя из своей бесконечной мудрости, решила, что корневой каталог системного диска должен позволять обычным (не администраторам) пользователям создавать там каталоги и файлы. Этот набор разрешений наследуется каталогом python, когда он создается в расположении по умолчанию (то есть «C:\python24» или что-то еще).

Если вы хотите изменить каталог Python, чтобы избежать обсуждаемой атаки на повышение привилегий, должна быть возможность изменить каталог \Python с помощью icacls.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .