Здається, тут відбувається певне переконання ...
Зворотні посилання, очевидно, роблять те, що пояснили інші, розширюючись whoami
перед тим, як викликати "sudo", і залишаючи заднім числом повернення "root", як очікувалося.
Але корисно зрозуміти, що насправді відбувається з судо (8). Тому я насправді переглянув сторінку чоловіка!
"Реальні та ефективні uid та gid встановлюються так, щоб вони відповідали цільовим користувачам ..."
Отже, виявляється, що спостережувана поведінка не має нічого спільного з різницею між ефективним та реальним ідентифікатором користувача.
Також ілюстративно робити "sudo printenv" і порівнювати лише з "printenv", що насправді мене трохи здивувало. Він показує, що [i] деякі експортовані змінні [/ i] доступні, а інші - ні: він повідомляє HOME, PATH, PS1, SHELL, TERM та EDITOR, але інші, як MANPATH, CVSROOT, LD_LIBRARY_PATH або ENV. Це здається трохи дивним, оскільки це може спричинити поведінку програм інакше, ніж вони як оригінальний користувач, або як root.
whoami
? Просто скажіть, sudo whoami .. повертається root