在 Linux 系统中,`su` 命令用于切换到另一个用户身份。它通常被用来从普通用户切换到超级用户(root)以执行需要更高权限的操作。`su` 命令通过输入目标用户的密码来验证身份,并为用户提供目标用户的权限。
使用方式
`su` 命令的基本使用格式如下:
```sh
su [options] [user [argument...]]
```
常用选项
`-c, --command=command`: 将一个具体的命令传递给目标用户的 shell 以执行。
`-f, --fast`: 将 `-f` 参数传递给被调用的 shell。其具体作用依赖于目标用户所使用的 shell 类型。
`-g, --group=group`: 指定一个组(group),作为目标用户的主组(primary group)。只有 root 用户才可以使用这个选项。
`-G, --supp-group=group`: 指定一个或多个补充组(副组),只有 root 用户可以使用这个选项。
`-l, --login`: 启动一个 Shell 会话,并使其环境配置类似于真实的登录过程。初始化 HOME、SHELL、USER、LOGNAME 和 PATH 这几个环境变量。
示例
切换到 root 用户
```sh
su
```
输入 root 用户的密码后,你将切换到 root 用户。
切换到指定用户
```sh
su username
```
输入指定用户的密码后,你将切换到该用户。
执行特定命令
```sh
su -c 'command' username
```
以指定用户的身份执行 `command` 命令,执行后立即返回原来的用户身份。
注意事项
使用 `su` 命令需要输入目标用户的密码。
只有 root 用户和目标用户本人可以切换到该用户。
在某些情况下,可能需要配置服务以支持快速用户切换。
通过以上信息,你可以根据需要在 Linux 系统中切换用户。