Tại sao Python cho Windows không được cài đặt trong% PROGRAMFILES% (Bộ C: \ Chương trình tập tin)?


Câu trả lời:


22

Rõ ràng đây là nguyên nhân của cuộc thảo luận 7 năm giữa các nhà phát triển Python.

Các lý do sau đây đã được đưa ra bởi các tác giả:

Tác giả: Tim Peters (tim.peter) * (Python committer) Ngày: 2006-03-22 20:27

Cách đây rất lâu, Python đã cài đặt (theo mặc định) trong "Tệp chương trình". Tôi đã thay đổi điều đó, bởi vì các vấn đề vô tận được tạo ra bởi không gian nhúng của frickin và các vấn đề hiếm hơn nhưng tinh vi hơn do "Tệp chương trình" không phải là tên DOSish 8.3. Nhìn chung, tôi vẫn nghĩ rằng đó là một thay đổi tốt.

Lưu ý rằng, không giống như hầu hết các ứng dụng Windows (dựa trên GUI), các ngôn ngữ lập trình được dự định sẽ được sử dụng nhiều từ dòng lệnh, được gọi bởi các tập lệnh, v.v. Đó là những gì làm cho một không gian trong đường dẫn dễ bị lỗi vô tận. Trong WinXP Pro, tôi nhận thấy rằng MS vẫn cẩn thận đặt các công cụ dòng lệnh / tập lệnh của riêng mình (sort.exe, ipconfig.exe, cscript.exe, ..., thậm chí notepad.exe) trong không gian DOSish 8.3 thuần túy đường dẫn ;-)


Ngoài ra : Do khả năng leo thang đặc quyền, sử dụng C: \ thay vì C: \ Program Files \ có thể là một mối nguy hiểm bảo mật:

Tác giả: Mika Eloranta (mel) Ngày: 2005-09-07 21:34

Thư mục đích cài đặt mặc định nơi Python cài đặt trên Windows nằm ngay dưới thư mục gốc của ổ đĩa hệ thống (ví dụ: "C: \ python24"). Các quyền của tệp và thư mục được kế thừa bởi thư mục python24 từ thư mục gốc không đủ an toàn để giữ các nhị phân ứng dụng.

Microsoft, theo trí tuệ vô hạn của họ, đã quyết định rằng thư mục gốc của ổ đĩa hệ thống sẽ cho phép người dùng thông thường (không phải quản trị viên) tạo thư mục và tệp ở đó. Nhóm quyền này được kế thừa bởi thư mục python khi nó được tạo ở vị trí mặc định (nghĩa là "C: \ python24" hoặc bất cứ điều gì).

Nếu bạn muốn sửa đổi thư mục Python để tránh cuộc tấn công leo thang đặc quyền được thảo luận, có thể sửa đổi thư mục \ Python bằng icacls .


hầu như không ai gọi python với đường dẫn đầy đủ của nó. Cách chính xác là đặt binthư mục của nó vào %PATH%và bạn sẽ không cần phải xử lý các khoảng trống nữa. Và không đúng khi XP Pro có các dòng thực thi dòng lệnh của nó trong các đường dẫn DOS 8.3. Mặc dù đường dẫn của chúng thường không có bất kỳ khoảng trắng nào, nhiều tệp có độ dài dài hơn 8 ký tự như systeminfo.exe
phuclv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.