Windows 용 Python이 % PROGRAMFILES % (“C : \ Program Files”)에 설치되지 않는 이유는 무엇입니까?


답변:


22

분명히 이것은 파이썬 개발자들 사이 에서 7 년 토론 의 원인입니다 .

저자는 다음과 같은 근거를 제시했습니다.

저자 : Tim Peters (tim.peters) * (Python commiter) 날짜 : 2006-03-22 20:27

오래 전에 파이썬은 "프로그램 파일"아래에 기본적으로 설치되었습니다. 나는 frickin의 내장 공간에 의해 생성 된 끝없는 문제와 "프로그램 파일"로 인한 드물지만 미묘한 문제로 인해 DOSish 8.3 이름이 아니라고 변경했습니다. 전반적으로 나는 여전히 좋은 변화라고 생각합니다.

그, 주 (GUI 기반하는) 대부분의 Windows 응용 프로그램과는 달리, 프로그래밍 언어가되어 구성 스크립트에 의해 호출 등, 명령 줄에서 많이 사용합니다. 그것이 경로의 공간을 끝없이 오류가 발생하게 만드는 이유입니다. WinXP Pro에서 MS는 여전히 순수한 DOSish 8.3 아래에 자체 명령 줄 / 스크립트 도구 (sort.exe, ipconfig.exe, cscript.exe, ..., notepad.exe)를 넣지 않도록주의를 기울였습니다. 경로 ;-)


옆으로 : 권한 상승 가능성으로 인해 C : \ Program Files \ 대신 C : \를 사용하는 것이 보안 상 위험 할 수 있습니다.

저자 : Mika Eloranta (mel) 날짜 : 2005-09-07 21:34

Python이 Windows에서 설치되는 기본 설치 대상 디렉토리는 시스템 드라이브의 루트 디렉토리 (예 : "C : \ python24") 바로 아래에 있습니다. python24- 디렉토리가 루트 디렉토리에서 상속 한 파일 및 디렉토리 권한은 애플리케이션 바이너리를 유지하기에 충분히 안전하지 않습니다.

Microsoft는 무한한 지혜로 시스템 드라이브의 루트 디렉토리에서 일반 (관리자가 아닌) 사용자가 디렉토리와 파일을 작성할 수 있도록 결정했습니다. 이 권한 세트는 기본 위치 (예 : "C : \ python24"또는 기타)에 작성 될 때 python 디렉토리에 상속됩니다.

논의 된 권한 에스컬레이션 공격을 피하기 위해 Python 디렉토리를 수정하려면 icacls를 사용하여 \ Python 디렉토리를 수정할 수 있어야합니다 .


거의 아무도 전체 경로로 파이썬을 호출하지 않습니다. 올바른 방법은 bin폴더를 폴더에 넣고 %PATH%더 이상 공백을 처리 할 필요가 없습니다. 그리고 XP Pro에 DOS 8.3 경로에 명령 행 실행 파일이 있다는 것은 사실이 아닙니다. 일반적으로 경로에는 공백이 없지만 많은 파일의 길이는 systeminfo.exe와 같이 8자를 초과합니다.
phuclv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.