ดูเหมือนว่ามีบางสิ่งที่น่าแปลกใจเกิดขึ้นที่นี่ ...
เห็นได้ชัดว่า backticks ทำในสิ่งที่คนอื่นอธิบายขยายwhoami
ก่อนที่จะเรียก 'sudo' และปล่อยให้ backticks off 'root' return ตามที่คาดไว้
แต่มันมีประโยชน์ที่จะเข้าใจสิ่งที่เกิดขึ้นจริงกับ sudo (8) ดังนั้นฉันจึงดูหน้าคนจริง ๆ !
"uid และ gid ที่แท้จริงและมีประสิทธิภาพถูกตั้งค่าให้ตรงกับผู้ใช้เป้าหมาย ... "
ดังนั้นจึงปรากฏว่าพฤติกรรมที่สังเกตไม่เกี่ยวข้องกับความแตกต่างระหว่าง ID ผู้ใช้ที่มีประสิทธิภาพและแท้จริง
นอกจากนี้ยังเป็นตัวอย่างในการทำ "sudo printenv" และเปรียบเทียบกับ "printenv" ซึ่งทำให้ฉันแปลกใจเล็กน้อย มันแสดงให้เห็นว่า [i] มีตัวแปรที่ส่งออก [/ i] บางตัวและอื่น ๆ นั้นไม่ใช่: มันรายงานผู้ใช้ HOME, PATH, PS1, SHELL, TERM และ EDITOR ของผู้ใช้ที่กล่าวอ้าง แต่ไม่ใช่คนอื่น ๆ เช่น MANPATH, CVSROOT, LD_LIBRARY_PATH หรือ ENV ดูเหมือนจะแปลกเล็กน้อยเนื่องจากอาจทำให้โปรแกรมทำงานแตกต่างจากที่ทำในฐานะผู้ใช้ดั้งเดิมหรือในฐานะรูท
whoami
? เพียงแค่พูดว่า sudo whoami .. คืนค่าราก