Home>Article>Operation and Maintenance> What is the difference between sudo and su in linux

What is the difference between sudo and su in linux

WBOY
WBOY Original
2022-05-17 15:33:51 5489browse

Difference: 1. sudo executes commands as root user, su is used to change the identity of other users to execute commands; 2. sudo can skip root login to execute some specific commands, just Provide the current user password, but su cannot skip root login and must provide the root user password.

What is the difference between sudo and su in linux

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

What is the difference between sudo and su in Linux

What is su

The full name of su is not super user, but switch user, right? Did you suddenly understand? It means switching users. The general method of using su is su or su -. Although the two methods only differ by one character, they are quite different.

Added the - parameter, which is the login-shell method, which means that after switching to another user, the current shell will load the corresponding environment variables and various settings;

If not Adding the - parameter is the non-login-shell method, which means that the current shell still loads the environment variables and various settings of the user before the switch.

If you don’t want your settings under the current user to be unavailable due to switching to another user, you can use the non-login-shell method; if you switch users, you need to use the various settings of that user environment variables, then use the login-shell method.

Usage of su

su (full spelling in English: switch user) command is used to change the identity of another user.

Example:

(1)su #Switch to the root user by default, enter the root password to switch to the root user, and finally execute the exit command to switch to the original user

Here The password is not displayed by default. The following picture switches from the song user to the root user

What is the difference between sudo and su in linux

When entering exit, switch to the original user

What is the difference between sudo and su in linux

(2) su (user name to be switched)

Switched from root user to song user Note: You do not need to enter a password to switch from root to another user

What is the difference between sudo and su in linux

Assuming that if there are many people managing this host, not many people need to know the root password, and some people may only operate it once, then at this time, the su method is not very good, root Of course, the fewer people know about your password, the better. The less people know about it, the safer it is. At this time, another method is needed. You need to use sudo

What is sudo

The full name is super user do, which means executing commands as a super user. The super user here refers to the root user. , we sometimes encounter permission denied situations in Linux, such as viewing the contents of /etc/shadow as an ubuntu user, because it can only be viewed by the root user. In this case, you can use sudo.

The difference between the two is:

Use su - to provide the password of the root account, you can switch to the root user;

Use sudo su -, Provide the password of the current user, or you can switch to the root user.

If our Linux system has many users who need to use it, the former requires all users to know the password of the root user, which is obviously very dangerous; the latter does not need to expose the password of the root account, the user only needs to enter Just use your own account password. And which users can switch to root is completely controlled by root (root is implemented by setting /etc/sudoers), which makes the system much safer.

Recommended learning:Linux video tutorial

The above is the detailed content of What is the difference between sudo and su in linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn