Linux 中 su 命令的使用

目录

①普通用户切换 root 用户

②root 用户切换普通用户


su 命令的作用是在 Linux 中切换用户,是英文单词:Switch(切换) User(用户) 的缩写。

语法:

su [-] 用户名

在 Linux 中“[]”里面的内容都代表可选,可以不写。

su:命令本体,必写;

-:可选选项,切换用户的同时改变 Shell 环境,建议加上;

用户名:参数,要切换的用户名;

首先,在开始讲解之前,先带你们了解一下普通用户和 root 用户一开始登录进来的时候所处的路径是什么(也就是默认路径):

☝️普通用户:/home/用户名(用户名:默认你在 VMware 虚拟机创建的第一个用户)

[wq@localhost ~]$ pwd
/home/wq

✌️root 用户:/root

[wq@localhost ~]$ su -
密码:
上一次登录:三 2月  1 02:04:45 PST 2023pts/1 上
[root@localhost ~]# pwd
/root

Linux 中 su 命令的使用_第1张图片

①普通用户切换 root 用户

①.①、加上可选选项“-”,切换用户的同时改变 Shell 环境

语法:命令本体 + 可选选项su -

[wq@localhost ~]$ su - 
Password: 
Last login: Wed Feb  1 00:46:56 PST 2023 on pts/1

[root@localhost ~]# pwd
/root

Linux 中 su 命令的使用_第2张图片

因为加“-”会改变 Shell 环境的原因,普通用户 wq 成功被切换为 root 用户的默认登录目录:/root;

‍♀️①.①:我是最常用的切换 root 用户命令。

①.②、直接使用 su 命令本体

语法:命令本体su

[wq@localhost ~]$ su
Password: 
[root@localhost wq]# pwd
/home/wq

会切换到普通用户在 root 里面相对应的工作目录:

比如:我在当前普通用户的 home 目录使用 su 进行切换,他会切换到我当前 root 用户的 home 目录,并且还会切换到该 home 目录登录的用户;

 [wx@localhost ~]$ su
Password: 
[root@localhost wx]# pwd
/home/wx

又比如:我在当前普通用户的 home 目录的一个文件夹用 su 进行切换,他会切换到我当前 root 用户的 home 目录里同样的一个文件夹内;

[wq@centos test3]$ su
Password: 
[root@centos test3]# 

 

①.③、使用完整语法进行切换

语法:命令本体 + 可选选项 + rootsu - root

[wq@localhost ~]$ su - root
Password: 
Last login: Wed Feb  1 01:50:37 PST 2023 on pts/1
[root@localhost ~]# 

因为加“-”会改变 Shell 环境的原因,切换 root 用户成功!!!

看到这里不难发现,好像每次普通用户去切换 root 用户都需要去输入密码,哈哈,没错,普通用户切换任何用户都要输入密码(包括他自己)。

示例:

我在这里演示一个当前普通用户 wq 切换当前普通用户 wq(也就是自己切自己):

[wq@localhost ~]$ su - wq
Password: 
Last login: Wed Feb  1 02:47:13 PST 2023 on pts/1
[wq@localhost ~]$ 

同样需要输入密码!!!


 

②root 用户切换普通用户

②.①、加上可选选项“-”,切换用户的同时改变 Shell 环境

语法:命令本体 + 可选选项 + 参数su - 用户名

[root@localhost ~]# su - wq
Last login: Wed Feb  1 00:29:29 PST 2023 on pts/1
[wq@localhost ~]$ pwd
/home/wq

因为加“-”改变 Shell 环境的原因,root 用户成功被切换为普通用户 wq 的默认登录路径:/home/wq;

‍♀️②.①:root 用户切换普通用户命令用我的这一个就可以了,下面②.②的没用。

②.②、不加上可选选项“-”,切换用户的同时不改变 Shell 环境

语法:命令本体 + 参数su wq

[root@localhost ~]# su wq
[wq@localhost root]$ pwd
/root

因为没有加“-”改变 Shell 环境的原因,所以普通用户 wq 并没有切换成功,还是处在 root 用户的默认登录路径:/root;

②.②:我谢谢你②.①。

看到这里又不难发现,root 用户去切换普通用户的时候竟然不需要输入密码,哈哈,没错,root 用户作为超级管理员,他切换任何用户都是不需要密码的。

Linux 中 su 命令的使用_第3张图片

 Linux 中 su 命令的使用_第4张图片

总结为一句话:root 用户切换任何用户都不要密码;普通用户切换任何用户都要密码;


Linux 中 su 命令的使用_第5张图片

退出当前用户登录(也可以理解为返回上一个登录用户)

快捷键:ctrl + d

命令:exit


最后,还要补充一点:

如果你在切换用户的过程中出现了该错误:su: Authentication failure

[wq@localhost ~]$ su - wx
Password: 
su: Authentication failure

原因:

1、用户没有设置密码,所以你不知道输什么,乱输,导致该错误;

2、用户设置了密码,但是,你忘了。。。

解决办法:

无论是 没有设置密码 还是 忘记了密码 都可以通过 设置密码 来解决。

那么如何来设置密码呢???


嘻嘻~你点下面的~

在 Linux 中创建用户 and 给用户设置密码相关操作_^O^——的博客-CSDN博客

☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️

嘻嘻~你点☝️上面的~

Linux 中 su 命令的使用_第6张图片


Linux 中 su 命令的使用_第7张图片

Linux 中 su 命令的使用_第8张图片

拜,溜了溜了~

完。。。

你可能感兴趣的:(linux,su)