Linux bash change user

How to switch between users on one terminal?

I’d like to log in as a different user without logging out of the current one (on the same terminal). How do I do that?

I asked a similar question, because I ran into issues with XDG environment variables ( $XDG_RUNTIME_DIR in particular) that were driving me nuts. -> unix.stackexchange.com/questions/354826/…

10 Answers 10

How about using the su command?

$ whoami user1 $ su - user2 Password: $ whoami user2 $ exit logout 

If you want to log in as root, there’s no need to specify username:

$ whoami user1 $ su - Password: $ whoami root $ exit logout 

Generally, you can use sudo to launch a new shell as the user you want; the -u flag lets you specify the username you want:

$ whoami user1 $ sudo -u user2 zsh $ whoami user2 

There are more circuitous ways if you don’t have sudo access, like ssh username@localhost, but sudo is probably simplest, provided that it’s installed and you have permission to use it.

I am getting this error «-su: /dev/stderr: Permission denied» after executing this command echo >>/dev/stderr on a login with su —login . , any tip? I found this btw unix.stackexchange.com/questions/38538/…

Does this allow each new user to have different, overriding values for environment variables? e.g. git config for work, open source, etc.

One finding, when I listed the env it saw that everything was in order as well as a visual inspection can go; And one thing was incorrect: XAUTHORITY=/home/user1/.Xauthority’. Not sure _why_? So X-window doesn’t work by default because the protection on ~/.Xauthority` file is: -rw——- . I made a copy and that let me run gedit as an experiment.

Generally you use sudo to launch a new shell as the user you want; the -u flag lets you specify the username you want:

[mrozekma@etudes-1 ~] % whoami mrozekma [mrozekma@etudes-1 ~] % sudo -u nobody zsh [nobody@etudes-1 ~] % whoami nobody 

There are more circuitous ways if you don’t have sudo access, like ssh username@localhost , but I think sudo is probably simplest if it’s installed and you have permission to use it

sudo -s gives you a shell like su , sudo -i simulates login like su — . Can be combined with -u $user , of course.

much more efficient. being able to «login» as a user who can’t normally login is a great asset. totally allowed me to run a database instance without messing with permissions or selinux

This command prints the current user. To change users, we will have to use this command (followed by the user’s password):

After entering the correct password, you will be logged in as the specified user (which you can check by rerunning whoami .

If you’re running Ubuntu, and if the user you want to login as doesn’t have a password set:

Enter your own password and you should be set. Of course, this requires that your user has rights to gain root privileges with sudo .

Читайте также:  Astra linux пакет lsb

To switch the terminal session to a different user, where that user can’t exit back into the original user, use exec:

This will technically login the new user in a new term process, and close out the current one. That way when the user attempts exit or Ctrl-D, the terminal will close as though that user was the one who instantiated it, i.e., the user can’t exit back into the original user’s term. Kind of pointless, considering they can still just start a new terminal session and automatically be in the original user term login, but there it is.

EDIT: For what it’s worth, you can use linux vlock command in your ~/.bashrc to lock terminal sessions by default, requiring the password of the term session user to unlock. This would somewhat prevent the aforementioned term restart under the original user context, given the term isn’t instantiated using the non-default ~/.bashrc of the user, as configured.

Источник

How to Switch User in Linux [Linux Change User]

How do I switch user in Linux? What is the su command? How does it differ from sudo? If you ever had these questions, you are in the right place.

How to Switch User in Linux [Linux Change User]

List of content you will read in this article:

Linux has a unique and different way of switching users than other operating systems have. To switch or change user in Linux, simply input the command «su newuser», ensuring to replace «newuser» with the username of the account you wish to switch to. If you’re new to Linux, you may wonder how to switch users in Linux from the command line. The «su» command is a simple way to change which user you are logged in as. In this article, we’ll show you how to use the su command for linux change user .

To linux switch user , simply type «su» followed by the username of the user you want to switch to. For example, if you wanted to switch to the user «mvm», you would type:

You will then be prompted for that user’s password. Once entered, you will be logged in as that user.

If you want to switch users temporarily, you can use the «-l» option. This stands for «login shell.» It will give you a full login shell for the specified user. For example:

This is useful if you need to run a command as another user and don’t want to leave your current session. Remember that when using the «-l» option, you will need to enter the password for the other user twice (once for su and once for login).

What is SU command? [ Switch User Linux ]

Su allows you to change the existing user to some other user. Use the –l [username] method to define a user account if you need to execute a command as someone other than root. Switching between shell interpreters on one go is also possible using the su command. Su is a more powerful but older command. It can mimic sudo’s features by passing a single command to the shell with the –c option.

The su command in Linux is short for «substitute user or switch user» and allows a user to gain temporary access to another user’s account. This can be useful if you need to run a command as another user or troubleshoot an issue and need to access another user’s account.

Читайте также:  Google chrome linux repository

SU Command Syntax

To use the su command, type the following into the command prompt:

su [options] [username [arguments]]

su defaults to the superuser if no username is specified (root). Locate the required user and include it in the su command syntax.

SU Command Options

Use -h to see a list of commands options in su:

You can use the su command with the following options:

  • Username – Change your username with the username you’d like to use to log in. Any consumer, not just root, can do this.
  • –command or –c [cmd] – Executes a command as the user-defined.
  • –login or –l [username] – Changes the username by running a login script. For that person, you are required to enter a password.
  • –s or –shell [shell] – Allows you to execute the command in a separate shell context.
  • –h or –help – Displays the su command’s help file.
  • –p or ––preserve-environment – Protect the shell environment (HOME, SHELL, USER, LOGNAME).

Linux VPS

Linux VPS

How to Switch User in Linux ? [C hange User Linux ]

Change Linux user to an Another User

Enter the following command to change user Linux in this terminal window:

A password would be needed. When you type it in, the username will be changed to that account.

As a Different User, Execute a Specific Command

Using the –c alternative to execute a particular command as a separate user:

su –c [command] [other_user_name]

The system would then prompt you for your username. When you execute this command, the system will run the ls (list the directory contents) command for the defined account.

Switching to a Different Shell Environment

Enter the following to use a new shell or operating environment:

In Z shell, this command creates a root user account.

In the Same Environment, Use a Different User

With the –p alternative, you can hold the current user account’s environment:

[another user] can be replaced with the real username you choose to use. The user account will change, but your home directory will remain the same. This is helpful if you execute a command as a new user but need access to the current user’s files.

Use the echo $HOME command to show the directory you’re operating in to ensure you’re still in the same home environment.

Conclusion

In conclusion, the SU command is a powerful tool that can be used to switch users in Linux. This article has provided a comprehensive guide on using Linux change user command and some useful tips and tricks. We hope that you have found this information helpful and that you can now use the SU command confidently.

Источник

How to Change Users in Linux Command Line

Linux systems have different users and different types of users. Learn how to switch the users in Linux command line or how to change to the root user in Linux.

Linux systems have different types of users with different types or permissions as well.

Not all users can execute all commands and not all users are allowed to switch to other users neither. This all might sound confusing but, I will try to explain these so it can be easy to understand.

For the moment, here’s a quick summary of how to switch users in Linux command line.

Читайте также:  Kali linux and ubuntu

To switch users, you need to know the password of that user. You can switch the users with this command:

To switch to root user in Ubuntu, you can use this command:

Various user types in Linux

If you list all users in Linux, you’ll see a lot of users that you didn’t know about. Who are these users? Where did they come from? I could write an entire article in regards of how users work in Linux, however, this is not the idea for this one.

Basically, there are 3 types of users in Linux:

1. System Users

These are the users that are automatically created in Linux systems to be able to run services or applications and are not intended to log in to the system (in fact you can’t log in as any of these users).

2. Regular Users

These are the (human) users who can log in to a system. Each of these users might have or not different permissions or levels in the system which is given by the groups they belong to.

3. Super Users

These are system administrators or users who can perform high-level tasks that can be considered critical or system dangerous.

Switch users in the command line

When using a Linux system you can log in with a user and then simply “switch” to another user through the same command line session. In order to do this, there is a command “su -“, which allows you to switch to become another user:

[email protected]:~$ su - janedoe Password: [email protected]:~$ 

In the above example, you need to know the password of janedoe in order to switch to that user. Which makes sense because if you are going to switch to a user, you need to know the password of that user else it will be a security risk.

Switch to root user

For security reasons, some systems have ‘root’ account blocked for direct login, either locally or remotely, so this means it will not accept someone who tries to log in using ‘root’ even with the correct password.

So, how do you perform actions as the ‘root’ user? That’s what the ‘sudo’ command allows you to.

The sudo command will basically execute anything you want in the system as if the ‘root’ was doing it. You don’t need to know the ‘root’ user’s password, in fact, probably nobody knows it or there is no password assigned to ‘root’. You only need to know your own user’s password and that user must be in the ‘sudoers’ group, which is basically the group of users which can use ‘sudo’ in the system.

Normally, it is a good practice to run the commands with sudo that needs to run with root permission like this:

But if you want to change to root user so that all the subsequent commands will be run as root, you can use:

You’ll use your own password here, not the root account’s password.

Change to root user in Linux

As a sudo user yourself, you can create sudo user by adding the user to sudo group.

Linux systems allow you to easily switch users or execute high-level commands with the usage of ‘su‘ and ‘sudo’ commands. And remember: with great sudo power comes great responsibility!

Источник

Оцените статью
Adblock
detector