How to Switch Users in Linux Terminal

How to Switch Users in Linux Terminal

In the dynamic realm of Linux, mastering the art of user switching in the terminal is a skill every enthusiast should possess. This guide will walk you through the intricacies of seamlessly transitioning between users in the Linux Terminal. Whether you’re a seasoned user or a novice, these step-by-step instructions will empower you to navigate the Linux landscape effortlessly.

Understanding User Switching

Understanding User Switching

What is User Switching?

Before delving into the nitty-gritty, let’s grasp the essence of user switching. In Linux, multiple users can be logged into a system simultaneously, each with distinct privileges and settings. Switching users allows seamless transitions between different user accounts without the need to log out and log back in.

Why Switch Users?

User switching is a pivotal feature for system administrators, developers, and anyone managing a Linux-based system. It facilitates multitasking, enhances security, and streamlines administrative tasks, offering a more efficient workflow.

The Command Line Magic

Command Basics: su and sudo

The foundation of user switching lies in two fundamental commands: su (substitute user) and sudo (superuser do). Mastering these commands is crucial for efficient user transitions.

How to Switch Users in Linux Terminal using su

The su command allows you to switch to another user account. For instance, to switch to the user ‘john,’ simply type:


su john

You’ll be prompted to enter the user’s password. Once authenticated, you seamlessly switch to the ‘john’ account.

Elevating Privileges with sudo

While su switches the entire user, sudo empowers you to execute specific commands with elevated privileges. For example:


sudo apt-get update

This command updates your system, and the ‘sudo’ ensures it runs with superuser privileges.

Advanced User Switching Techniques

Switching to a Specific Shell

Sometimes, you may want to switch users and land in a specific shell. Achieve this by using the -s flag with su:


su -s /bin/bash john

This command switches to the user ‘john’ and opens a bash shell.

Remote User Switching with ssh

For remote systems, the ssh command is your gateway to user switching. Connect to another user on a remote machine with:


ssh john@remote-machine

Enter the password, and you’re now operating as ‘john’ on the remote system.

Managing User Sessions

Checking Active Users

Keeping tabs on active users is crucial for system administrators. Utilize the who command to display a list of currently logged-in users:



This command provides information about logged-in users, their terminals, and login times.

Forcibly Logging Out Users

In scenarios where you need to log out a user forcefully, the pkill command comes to the rescue. For instance, to log out the user ‘jane,’ use:


sudo pkill -u jane

This command terminates all processes associated with ‘jane,’ logging them out instantly.

Troubleshooting User Switching Issues

Troubleshooting User Switching Issues

Permission Denied: Debugging

Encountering a “Permission Denied” message? Ensure that the target user account has the correct permissions. Verify the user’s existence and password using the passwd command:


sudo passwd john

Follow the prompts to set or update the password.

Insufficient Privileges: sudo Woes

If sudo isn’t working as expected, check the sudoers file with:


sudo visudo

Ensure your user has the necessary permissions listed in this file.

Best Practices for Efficient User Switching

Lockdown Your Terminal

Prevent unauthorized access to your terminal by locking it when switching users. Use the vlock command for an extra layer of security:



This command locks the terminal, requiring a password to unlock.

Streamlining User Switching with Aliases

Simplify user switching with aliases in your shell configuration file (e.g., .bashrc). For instance:


alias switchuser=’su’

Now, typing switchuser john accomplishes the same as su john.


Mastering the art of user switching in the Linux Terminal elevates your proficiency and efficiency in managing diverse tasks. From basic commands like su and sudo to advanced techniques like remote user switching, this guide has equipped you with the knowledge to navigate the Linux landscape seamlessly. Implement these strategies, troubleshoot effectively, and embrace a more agile and secure Linux experience. Happy terminal maneuvering!

Read also: