Чому Python для Windows не встановлений у% PROGRAMFILES% ("C: \ Program Files")?


23

Спочатку Python був встановлений у програмі C: \ Program Files \ Python, але це змінилося близько 1,5. Що було обґрунтуванням цього рішення? Це погана ідея змінити каталог назад, і якщо так, то чому?


Відповіді:


22

Мабуть, це причина 7-річної дискусії серед розробників Python.

Автори висловили таке обґрунтування:

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

Дуже давно Python встановив (за замовчуванням) у "Файли програм". Я змінив це через нескінченні проблеми, створені вбудованим простором фрікіна, і більш рідкісні, але тонкіші проблеми через те, що "Файли програми" не є іменем DOSish 8.3. В цілому я все ще думаю, що це була гарна зміна.

Зауважте, що, на відміну від більшості програм Windows (на основі GUI), мови програмування призначені для значного використання з командного рядка, на який викликаються сценарії тощо. Ось що робить простір на шляху нескінченно схильним до помилок. У 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 .


майже ніхто не називає пітона своїм повним шляхом. Правильний спосіб - це введення binпапки, %PATH%і вам більше не доведеться мати справу з пробілами. І це неправда, що XP Pro має свої виконувані файли командного рядка на трасах DOS 8.3. Хоча їх контури зазвичай не мають пробілів, багато файлів мають довжину довше 8 символів, як systeminfo.exe
phuclv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.