การแก้ไขตัวแปรสภาพแวดล้อม PATH ทั่วโลกปลอดภัยหรือไม่?


9

ฉันเพิ่งพบว่าฉันไม่สามารถเรียกใช้ mysql ได้โดยไม่ต้องพิมพ์เส้นทางทั้งหมดหรืออยู่ในไดเรกทอรีที่ถูกต้องยกเว้นว่าฉันได้เพิ่มเส้นทางไปยังตัวแปรสภาพแวดล้อม PATH

ฉันจัดการเพื่อทำและตอนนี้ฉันสามารถเรียกใช้ mysql เมื่อเริ่มต้นบรรทัดคำสั่งของฉัน ฉันขี้เกียจและไม่ต้องการพิมพ์เส้นทางทั้งหมดเพียงเพื่อเรียกใช้ mysql จาก cmd นอกจากนี้ฉันไม่รู้วิธีอื่นใดที่จะทำ ฉันสุ่มพบวิธีแก้ปัญหาในฟอรัม

สิ่งเดียวที่ฉันสงสัยในตอนนี้คือถ้ามันใช้ได้ / ปลอดภัยสำหรับโปรแกรมทั้งหมดของฉัน

แม้ว่ามันจะไม่สามารถใช้งานได้จริง แต่ก็เป็นข้อควรระวัง

ฉันสังเกตเห็นว่าในบทเรียนออนไลน์บางคนมีตัวแปร PATH สำหรับตัวแปรผู้ใช้ขณะที่ฉันไม่ได้ทำ ฉันพบตัวแปรสภาพแวดล้อม PATH ในส่วนตัวแปรระบบเท่านั้น นั่นเป็นสิ่งที่ไม่ดีเหรอ?

บัญชีเดียวในพีซีของฉันคือบัญชีผู้ดูแลระบบ อย่างน้อยนั่นเป็นบัญชีเดียวที่ฉันใช้

ฉันจะได้รับความชัดเจน / การป้อนข้อมูลนี้?

คำตอบ:


9

PATHไม่มีอะไรที่เป็นอันตรายเกี่ยวกับการเพิ่มไดเรกทอรีมักจะ มันอาจทำให้คุณมีปัญหาในสองวิธี:

  1. ในขณะที่ใช้พรอมต์คำสั่งคุณอาจเรียกใช้โปรแกรมที่คุณไม่ได้ตั้งใจ จากนั้นอีกครั้งหากคุณรู้ว่าโปรแกรมที่คุณใส่PATHไม่มีอะไรที่เป็นอันตรายเกิดขึ้น
  2. โปรแกรมอาจพบ DLLs ที่นั่นซึ่งโดยปกติจะไม่โหลด DLL ค้นหาระบุว่าถ้า DLL ที่ร้องขอไม่สามารถพบได้ในสถานที่ปกติก็จะถูกมองในที่สุดก็อยู่ในPATHตำแหน่ง ถ้าบอกว่าโปรแกรมโหลดโมดูลโดยพยายามโหลด DLL โดยใช้ชื่อและไม่สนใจว่าล้มเหลวใครบางคนที่มีการควบคุมPATHโฟลเดอร์อาจทำให้โปรแกรมนั้นโหลด DLL โดยพลการหากพบว่าไม่มีชื่อก่อนหน้านี้ ในการค้นหา อนึ่งปัญหาด้านความปลอดภัยที่เป็นไปได้คือสาเหตุที่เป็นความคิดที่ดีที่จะพยายามโหลด DLLs ที่อาจมีหรือไม่มีอยู่ โปรแกรมที่เขียนดีจะไม่มีปัญหานี้

คุณสามารถเพิ่มความยาวของตัวแปรได้สูงสุดPATHแต่นั่นไม่ใช่ปัญหาด้านความปลอดภัย

เกี่ยวกับการที่คุณไม่พบPATHตัวแปรผู้ใช้: หากคุณสร้างเวอร์ชันต่อผู้ใช้ของตัวแปรนั้นประสิทธิภาพของคุณPATHจะเป็นระบบที่รวมเข้ากับผู้ใช้หนึ่งคนโดยอัตโนมัติ


1
ขอบคุณ คุณครอบคลุมทุกอย่างที่ฉันต้องการความเชื่อมั่นชื่นชมมาก ปกติฉันไม่ชอบให้คำตอบที่ยอมรับจนกว่าฉันจะได้รับคำติชมที่เพียงพอ แต่คำตอบของคุณครอบคลุมทุกอย่างและอื่น ๆ นอกจากนี้ฉันสงสัยด้วยความจริงใจว่ามีคนอื่นไม่อยากตอบคำถามของฉัน
ThatRandomGuy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.