ดูเหมือนว่าข้อผิดพลาดนี้ได้รับรอบในขณะที่! นี่คือบางส่วนการอ้างอิงข้อผิดพลาดที่คุณอาจพบว่ามีประโยชน์ (และอาจต้องการสมัคร / ลงคะแนน, คำแนะนำ, คำใบ้ ... ):
Debian bug # 85123 ("sudo: SECURE_PATH ยังไม่สามารถเขียนทับได้") (ตั้งแต่ปี 2544!)
  ดูเหมือนว่า Bug # 20996 ยังคงปรากฏอยู่ใน sudo รุ่นนี้ changelog บอกว่ามันสามารถแทนที่ได้ตอนรันไทม์ แต่ฉันยังไม่พบวิธี
พวกเขาพูดถึงการใส่สิ่งนี้ในไฟล์ sudoers ของคุณ:
Defaults secure_path="/bin:/usr/bin:/usr/local/bin"
แต่เมื่อฉันทำอย่างนั้นใน Ubuntu 8.10 เป็นอย่างน้อยมันทำให้ฉันมีข้อผิดพลาดนี้:
visudo: unknown defaults entry `secure_path' referenced near line 10
ข้อผิดพลาดของ Ubuntu # 50797 ("sudo สร้างด้วย - ด้วยความปลอดภัย - เส้นทางเป็นปัญหา")
  ยิ่งแย่ไปกว่านั้นเท่าที่ฉันสามารถบอกได้มันเป็นไปไม่ได้ที่จะรับรอง secure_path ในไฟล์ sudoers ตัวอย่างเช่นถ้าคุณต้องการให้ผู้ใช้ของคุณสามารถเข้าถึงบางสิ่งภายใต้ / opt คุณจะต้องคอมไพล์ sudo อีกครั้ง
  
  
  
  ใช่. มีความต้องการที่จะเป็นวิธีการที่จะแทนที่นี้ "คุณสมบัติ" โดยไม่ต้องคอมไพล์ ไม่มีอะไรเลวร้ายยิ่งไปกว่าความปลอดภัยที่มีขนาดใหญ่บอกคุณว่าสิ่งที่ดีที่สุดสำหรับสภาพแวดล้อมของคุณแล้วไม่ให้วิธีการที่จะปิด
  
  
  
  มันน่ารำคาญจริงๆ อาจเป็นการดีที่จะรักษาพฤติกรรมปัจจุบันโดยค่าเริ่มต้นด้วยเหตุผลด้านความปลอดภัย แต่ควรมีวิธีการอื่นนอกเหนือจากการคอมไพล์ซ้ำจากซอร์สโค้ด! มีหลายคนที่ต้องการมรดกทาง ฉันสงสัยว่าทำไมไม่มีผู้ดูแลมองเข้าไปซึ่งดูเหมือนง่ายที่จะหาวิธีแก้ปัญหาที่ยอมรับ
  
  
  
  ฉันทำงานแบบนี้:
mv /usr/bin/sudo /usr/bin/sudo.orig
  
  จากนั้นสร้างไฟล์ / usr / bin / sudo ที่มีสิ่งต่อไปนี้:
#!/bin/bash
/usr/bin/sudo.orig env PATH=$PATH "$@"
  
  จากนั้น sudo ปกติของคุณจะทำงานเหมือนกับ sudo ที่ไม่ใช่เส้นทางที่ปลอดภัย
ข้อผิดพลาดของ Ubuntu # 192651 ("เส้นทาง sudo ถูกรีเซ็ตเสมอ")
  เนื่องจากข้อผิดพลาดที่ซ้ำกันของข้อผิดพลาดนี้ถูกจัดเก็บในเดือนกรกฎาคม 2549 ฉันไม่ชัดเจนว่า env_keep ใช้งานไม่ได้นานเท่าไหร่ ไม่ว่าข้อดีของการบังคับให้ผู้ใช้ใช้เทคนิคเช่นที่กล่าวข้างต้นแน่นอนว่า man man ของ sudo และ sudoers ควรสะท้อนถึงความจริงที่ว่าตัวเลือกในการปรับเปลี่ยน PATH นั้นซ้ำซ้อนได้อย่างมีประสิทธิภาพ
  
  การแก้ไขเอกสารเพื่อสะท้อนถึงการปฏิบัติจริงนั้นไม่ทำให้เกิดความไม่เสถียรและมีประโยชน์มาก
ข้อผิดพลาดของ Ubuntu # 226595 ("เป็นไปไม่ได้ที่จะเก็บ / ระบุ PATH")
  ฉันต้องสามารถเรียกใช้ sudo ด้วยโฟลเดอร์ไบนารีที่ไม่ใช่ std เพิ่มเติมใน PATH หลังจากเพิ่มข้อกำหนดของฉันไปที่ / etc / environment แล้วฉันรู้สึกประหลาดใจเมื่อพบข้อผิดพลาดเกี่ยวกับคำสั่งที่หายไปเมื่อใช้งานภายใต้ sudo .....
  
  ฉันพยายามต่อไปนี้เพื่อแก้ไขปัญหานี้โดยไม่ประสบความสำเร็จ: 
  
  
  - ใช้- sudo -Eตัวเลือก "" - ไม่ทำงาน PATH ปัจจุบันของฉันยังคงถูกรีเซ็ตโดย sudo
 
- การเปลี่ยน " - Defaults env_reset" เป็น "- Defaults !env_reset" ใน / etc / sudoers - ยังไม่ทำงาน (แม้เมื่อรวมกับ sudo -E)
 
- การไม่แสดงความคิดเห็น- env_reset(เช่น "- #Defaults env_reset") ใน / etc / sudoers - ก็ใช้ไม่ได้เช่นกัน
 
- การเพิ่ม ' - Defaults env_keep += "PATH"' ลงใน / etc / sudoers - ก็ใช้ไม่ได้เช่นกัน
 
ชัดเจน - แม้จะมีเอกสารประกอบคน - sudo นั้นฮาร์ดโค้ดอย่างสมบูรณ์เกี่ยวกับ PATH และไม่อนุญาตให้มีความยืดหยุ่นใด ๆ เกี่ยวกับการเก็บรักษา PATH ของผู้ใช้ น่ารำคาญมากเพราะฉันไม่สามารถเรียกใช้ซอฟต์แวร์ที่ไม่ใช่ค่าเริ่มต้นภายใต้การอนุญาตรากโดยใช้ sudo