Home > Environment & Utility > logname

logname: Print the Real Login User Name

The logname command prints the user name (login name) that was used when the user first logged into the system. Unlike whoami, it shows the original login user name even after privileges have been changed with su or sudo.

Overview

The `logname` command displays the name used by a user to start a login session on the system to standard output. This has a subtle but important difference from `whoami`. While `whoami` outputs the 'effective user' name currently executing the command, `logname` outputs the 'real login user' name of the session. Therefore, even after obtaining another user's privileges with `sudo` or `su` commands, `logname` will still show the name of the originally logged-in user.

Key Features

The main features of the logname command are as follows:

  • Prints the user name that initiated the login session.
  • Operates based on the value of the $LOGNAME environment variable.
  • Used to verify the actual logged-in user.
  • A simple command with very few options.

Difference between logname and whoami

Both commands output user names, but show different results in privilege change scenarios.

  • logname: Outputs the real logged-in user name. It does not change after using su or sudo.
  • whoami: Outputs the effective user name currently executing the command. After using su or sudo, it outputs the changed user name, such as root.

Main Options

The `logname` command is very simple, primarily using basic help options like `--help` or `--version`.

1) Help

Generated command:

Try combining the commands.

Description:

`logname` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

Explore various usage examples of the `logname` command to understand its functionality.

Check Current User Name

logname

Prints the name of the currently logged-in user.

Compare User Names After su Command

logname
su
whoami
logname

After switching to the `root` user with the `su` command, compare the output of `whoami` and `logname`. `whoami` outputs `root`, but `logname` outputs the original logged-in user name.

Installation

`logname` is part of the `coreutils` package and is included by default in most Linux distributions. No separate installation is required.

Tips & Considerations

Here are some points to consider when using the `logname` command.

Tips

  • In scripts, it is recommended to use whoami to check the privileges of the user currently executing the command, and logname to record the actual user who logged into the system.
  • logname can be used to track the real logged-in user, similar to the output of the w command.

Related commands

These are commands that are functionally similar or are commonly used together.



Same category commands