ฉันพยายามที่จะตรวจสอบว่าใน Linux ตัวแปรสภาพแวดล้อมสำหรับกระบวนการสามารถสังเกตเห็นได้โดยผู้ใช้อื่น (ไม่ใช่รูท)
กรณีการใช้งานทันทีคือการใส่ความลับลงในตัวแปรสภาพแวดล้อม สิ่งนี้ถูกกล่าวถึงในหลาย ๆ แห่งทั่วทั้งเว็บว่าไม่ปลอดภัย แต่ฉันไม่สามารถเป็นศูนย์ในจุดรับแสงที่แน่นอนใน Linux
โปรดทราบว่าฉันไม่ได้พูดถึงการใส่ความลับที่ชัดเจนเข้าไปในไฟล์ โปรดทราบว่าฉันไม่ได้พูดถึงการเปิดรับบัญชีรูท (ฉันพยายามปกปิดความลับจากฝ่ายตรงข้ามที่มีรูทเป็น nonstarter)
คำถามนี้ดูเหมือนจะตอบคำถามของฉันด้วยความคิดเห็นที่จำแนกตัวแปรสภาพแวดล้อมว่าสมบูรณ์โดยไม่มีการรักษาความปลอดภัยหรือเพียงแค่ถูกทำให้งงงวย แต่มีวิธีเข้าถึงพวกเขาอย่างไร
ในการทดสอบของฉันผู้ใช้ที่ไม่มีสิทธิพิเศษไม่สามารถสังเกตเห็นตัวแปรสภาพแวดล้อมสำหรับผู้ใช้รายอื่นผ่านตารางกระบวนการ ('ps auxwwe') คำสั่งที่ตั้งค่าตัวแปรสภาพแวดล้อม (เช่นการส่งออก) คือเชลล์บิวด์อินซึ่งไม่ได้ทำไว้ในตารางกระบวนการและโดยส่วนขยายไม่อยู่ใน / proc / $ pid / cmdline / proc / $ pid / environ สามารถอ่านได้โดย UID ของเจ้าของกระบวนการเท่านั้น
อาจเกิดความสับสนระหว่างระบบปฏิบัติการหรือรุ่นต่าง ๆ แหล่งที่มาต่าง ๆ (ล่าสุด) ทั่วทั้งเว็บบอกถึงความไม่มั่นคงของตัวแปรสภาพแวดล้อม แต่การตรวจสอบสปอตของรุ่นลินุกซ์ที่แตกต่างกันดูเหมือนจะบ่งบอกว่านี่เป็นไปไม่ได้ที่จะย้อนกลับไปอย่างน้อยปี 2007 มือที่จะทดสอบ)
ใน Linux ผู้ใช้ที่ไม่มีสิทธิพิเศษสามารถสังเกตตัวแปรสภาพแวดล้อมสำหรับกระบวนการของผู้อื่นได้อย่างไร