- RHCSA/RHCE8红帽Linux认证学习教程
- 段超飞
- 581字
- 2025-03-28 14:36:17
2.4 用户的切换
在Linux中,管理用户是root,在终端中的提示符是#。root的权限很大,为了防止误操作,平时尽可能使用普通用户登录,普通用户的提示符是$。
但有时使用普通用户登录时,会遇到权限不够的情况,例如,执行下面的命令。

这个命令是什么意思暂且不管,后面会讲。但是这里使用lduan用户执行此命令,被告知没有权限,只有root用户才能执行这个命令。这个问题可以通过su和sudo命令来解决,其中sudo命令的使用我们将在8.4节中进行讲解。
su命令可以从当前用户切换到其他用户,su的用法如下。

如果后面没有跟用户名,则默认为root。这里带“-”和不带“-”的区别在于切换用户之后的环境变量不一样,关于环境变量后面讲到脚本时会讲,区别如下。

这里当前用户是lduan用户,所在目录是lduan的家目录/home/lduan。下面通过su root切换到root用户,注意这里su后面没有“-”。

这里通过su命令已经切换到root用户了,因为su后面没有加“-”,所以切换之后所在目录并没有发生任何改变,仍然是在/home/lduan中的。这样即使切换到root用户了,使用的仍然是lduan用户的PATH变量。

下面退回到lduan用户。

可以看到,环境变量是一样的,再次查看当前用户及所在目录。

下面使用su - root切换到root用户,注意这里su后面有“-”。

可以看到,现在已经切换到root用户了,且所在目录也变为了root的家目录/root。此时使用的是root用户的PATH变量。

su后面不加用户名,默认就是root,所以su -和su - root相同,su和su root相同。
root用户用su命令切换到任何用户都不需要输入密码。