Different outputs for `w`, `who`, `whoami` and `id`
In command line platforms online, like for instance the one on Codecademy, when I run
for cmd in w who whoami id
do
echo $cmd
$cmd
echo =========================
echo " "
done
I get
w
00:52:54 up 8 days, 14:10, 0 users, load average: 3.78, 2.98, 2.69
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
=========================
who
=========================
whoami
ccuser
=========================
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)
=========================
Note that only whoami
and id
output something. When I run the same thing on my computer, I see similar results for all commands.
Why doesn't Codecademy display the user for w
and who
? What's different about these commands?
users who w whoami
New contributor
add a comment |
In command line platforms online, like for instance the one on Codecademy, when I run
for cmd in w who whoami id
do
echo $cmd
$cmd
echo =========================
echo " "
done
I get
w
00:52:54 up 8 days, 14:10, 0 users, load average: 3.78, 2.98, 2.69
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
=========================
who
=========================
whoami
ccuser
=========================
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)
=========================
Note that only whoami
and id
output something. When I run the same thing on my computer, I see similar results for all commands.
Why doesn't Codecademy display the user for w
and who
? What's different about these commands?
users who w whoami
New contributor
add a comment |
In command line platforms online, like for instance the one on Codecademy, when I run
for cmd in w who whoami id
do
echo $cmd
$cmd
echo =========================
echo " "
done
I get
w
00:52:54 up 8 days, 14:10, 0 users, load average: 3.78, 2.98, 2.69
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
=========================
who
=========================
whoami
ccuser
=========================
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)
=========================
Note that only whoami
and id
output something. When I run the same thing on my computer, I see similar results for all commands.
Why doesn't Codecademy display the user for w
and who
? What's different about these commands?
users who w whoami
New contributor
In command line platforms online, like for instance the one on Codecademy, when I run
for cmd in w who whoami id
do
echo $cmd
$cmd
echo =========================
echo " "
done
I get
w
00:52:54 up 8 days, 14:10, 0 users, load average: 3.78, 2.98, 2.69
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
=========================
who
=========================
whoami
ccuser
=========================
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)
=========================
Note that only whoami
and id
output something. When I run the same thing on my computer, I see similar results for all commands.
Why doesn't Codecademy display the user for w
and who
? What's different about these commands?
users who w whoami
users who w whoami
New contributor
New contributor
edited yesterday
whoami
New contributor
asked 2 days ago
whoamiwhoami
433
433
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
id
reports
- the current credentials of its own process; or
- the credentials of a named user, as read out of the system account database.
whoami
reports the current credentials of its own process.
who
andw
report the active login sessions table from the login database.
BSD doco notes that whoami
does a subset of the job of id
, and that id
renders it obsolete.
A system does not have to have an active login sessions table. On Linux operating systems and on the BSDs, if the table has not been created at bootstrap, or has been deleted since, the system will operate without one. Logging in and out does not implicitly create it on Linux operating systems, moreover.
Furthermore, the table need not be readable by unprivileged users and neither the who
nor the w
command will report this as an error.
Further reading
- Jonathan de Boyne Pollard (2018). The Unix login database. Frequently Given Answers.
- Jonathan de Boyne Pollard (2018). "login-update-utmpx". User Commands. nosh toolset.
- Lennart Poettering et al. (2018).
systemd-update-utmp.service
. systemd manual pages. Freedesktop.org. - Is it necessary for a login-shell to create utmp entry?
- https://unix.stackexchange.com/a/409036/5132
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
whoami is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506757%2fdifferent-outputs-for-w-who-whoami-and-id%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
id
reports
- the current credentials of its own process; or
- the credentials of a named user, as read out of the system account database.
whoami
reports the current credentials of its own process.
who
andw
report the active login sessions table from the login database.
BSD doco notes that whoami
does a subset of the job of id
, and that id
renders it obsolete.
A system does not have to have an active login sessions table. On Linux operating systems and on the BSDs, if the table has not been created at bootstrap, or has been deleted since, the system will operate without one. Logging in and out does not implicitly create it on Linux operating systems, moreover.
Furthermore, the table need not be readable by unprivileged users and neither the who
nor the w
command will report this as an error.
Further reading
- Jonathan de Boyne Pollard (2018). The Unix login database. Frequently Given Answers.
- Jonathan de Boyne Pollard (2018). "login-update-utmpx". User Commands. nosh toolset.
- Lennart Poettering et al. (2018).
systemd-update-utmp.service
. systemd manual pages. Freedesktop.org. - Is it necessary for a login-shell to create utmp entry?
- https://unix.stackexchange.com/a/409036/5132
add a comment |
id
reports
- the current credentials of its own process; or
- the credentials of a named user, as read out of the system account database.
whoami
reports the current credentials of its own process.
who
andw
report the active login sessions table from the login database.
BSD doco notes that whoami
does a subset of the job of id
, and that id
renders it obsolete.
A system does not have to have an active login sessions table. On Linux operating systems and on the BSDs, if the table has not been created at bootstrap, or has been deleted since, the system will operate without one. Logging in and out does not implicitly create it on Linux operating systems, moreover.
Furthermore, the table need not be readable by unprivileged users and neither the who
nor the w
command will report this as an error.
Further reading
- Jonathan de Boyne Pollard (2018). The Unix login database. Frequently Given Answers.
- Jonathan de Boyne Pollard (2018). "login-update-utmpx". User Commands. nosh toolset.
- Lennart Poettering et al. (2018).
systemd-update-utmp.service
. systemd manual pages. Freedesktop.org. - Is it necessary for a login-shell to create utmp entry?
- https://unix.stackexchange.com/a/409036/5132
add a comment |
id
reports
- the current credentials of its own process; or
- the credentials of a named user, as read out of the system account database.
whoami
reports the current credentials of its own process.
who
andw
report the active login sessions table from the login database.
BSD doco notes that whoami
does a subset of the job of id
, and that id
renders it obsolete.
A system does not have to have an active login sessions table. On Linux operating systems and on the BSDs, if the table has not been created at bootstrap, or has been deleted since, the system will operate without one. Logging in and out does not implicitly create it on Linux operating systems, moreover.
Furthermore, the table need not be readable by unprivileged users and neither the who
nor the w
command will report this as an error.
Further reading
- Jonathan de Boyne Pollard (2018). The Unix login database. Frequently Given Answers.
- Jonathan de Boyne Pollard (2018). "login-update-utmpx". User Commands. nosh toolset.
- Lennart Poettering et al. (2018).
systemd-update-utmp.service
. systemd manual pages. Freedesktop.org. - Is it necessary for a login-shell to create utmp entry?
- https://unix.stackexchange.com/a/409036/5132
id
reports
- the current credentials of its own process; or
- the credentials of a named user, as read out of the system account database.
whoami
reports the current credentials of its own process.
who
andw
report the active login sessions table from the login database.
BSD doco notes that whoami
does a subset of the job of id
, and that id
renders it obsolete.
A system does not have to have an active login sessions table. On Linux operating systems and on the BSDs, if the table has not been created at bootstrap, or has been deleted since, the system will operate without one. Logging in and out does not implicitly create it on Linux operating systems, moreover.
Furthermore, the table need not be readable by unprivileged users and neither the who
nor the w
command will report this as an error.
Further reading
- Jonathan de Boyne Pollard (2018). The Unix login database. Frequently Given Answers.
- Jonathan de Boyne Pollard (2018). "login-update-utmpx". User Commands. nosh toolset.
- Lennart Poettering et al. (2018).
systemd-update-utmp.service
. systemd manual pages. Freedesktop.org. - Is it necessary for a login-shell to create utmp entry?
- https://unix.stackexchange.com/a/409036/5132
edited 2 days ago
answered 2 days ago
JdeBPJdeBP
37.2k476177
37.2k476177
add a comment |
add a comment |
whoami is a new contributor. Be nice, and check out our Code of Conduct.
whoami is a new contributor. Be nice, and check out our Code of Conduct.
whoami is a new contributor. Be nice, and check out our Code of Conduct.
whoami is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506757%2fdifferent-outputs-for-w-who-whoami-and-id%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown