Tampaknya ada beberapa dugaan yang terjadi di sini ...
Backticks jelas melakukan apa yang orang lain jelaskan, memperluas whoami
sebelum memanggil 'sudo', dan meninggalkan backticks kembali 'root', seperti yang diharapkan.
Tetapi berguna untuk memahami apa yang sebenarnya terjadi dengan sudo (8). Jadi saya benar-benar melihat halaman manual!
"Uid dan gid yang nyata dan efektif diatur agar sesuai dengan pengguna target ..."
Jadi tampaknya perilaku yang diamati tidak ada hubungannya dengan perbedaan antara id pengguna efektif dan nyata.
Ini juga ilustratif untuk melakukan "sudo printenv" dan dibandingkan dengan hanya "printenv," yang sebenarnya sedikit mengejutkan saya. Ini menunjukkan bahwa [i] beberapa [/ i] variabel yang diekspor tersedia dan dan lainnya tidak: itu melaporkan pengguna, HOME, PATH, PS1, SHELL, TERM, dan EDITOR pengguna yang memohon, tetapi tidak yang lain seperti MANPATH, CVSROOT, LD_LIBRARY_PATH, atau ENV. Tampaknya agak aneh, karena dapat menyebabkan program berperilaku berbeda dari yang mereka lakukan baik sebagai pengguna asli, atau sebagai root.
whoami
? Katakan saja sudo whoami .. mengembalikan root