linux中怎么使用su
linux中怎么使用su详细介绍
在 Linux 中,su(Switch User)命令用于切换用户身份,以下是其常见用法和说明:
基本语法
bash
选项 目标用户
常用用法
1.
切换为超级用户(root)
- 普通用户 → root(需输入 root 密码):
bash- 切换后仅获得 root 的权限,但不加载 root 的环境变量(如
PATH、HOME等仍为当前用户的配置)。
- 切换后仅获得 root 的权限,但不加载 root 的环境变量(如
- 完整切换为 root 环境(推荐使用,加载 root 的环境变量):
bash-或
- root
2.
切换为其他普通用户
- 普通用户 A → 普通用户 B(需输入用户 B 的密码,或当前用户 A 有 sudo 权限):bash
- username- 例如:从当前用户切换到名为
alice的用户:bash- alice
- 例如:从当前用户切换到名为
3.
以目标用户身份执行单个命令
- 不切换用户,直接以目标用户身份运行一条命令(需输入目标用户密码):bash
目标用户- 示例:以 root 身份执行
apt update:bashroot
- 示例:以 root 身份执行
常用选项
| 选项 | 说明 |
|---|---|
-l, -ll |
完全切换用户环境(等同于 su -),加载目标用户的配置文件(如 ~/.bashrc)。 |
-m, -p |
不修改当前环境变量(仅切换用户,不加载目标用户的配置)。 |
-s |
指定切换后使用的 shell(如 su -s /bin/zsh root)。 |
注意事项
- 权限与密码:
- 普通用户切换到
root或其他用户时,需要输入目标用户的密码(除非通过sudo配置免密)。 root用户切换到其他普通用户时,无需输入密码。
- 普通用户切换到
- 安全建议:
- 推荐使用
sudo代替直接使用su,以更细粒度地控制权限(例如sudo 命令仅临时获取某条命令的 root 权限)。 - 避免长期以
root身份登录,完成操作后及时退出(输入exit或按下Ctrl+D)。
- 推荐使用
- 退出当前用户:
- 无论当前是何种用户,输入
exit即可退回到切换前的用户。
- 无论当前是何种用户,输入
示例
- 从普通用户切换到 root 并加载其环境:
bash- root - 以用户
bob身份执行ls /root:
bashbob - 退出 root 回到普通用户:
bash912
通过合理使用 su 命令,可以安全高效地在不同用户身份之间切换,满足权限管理需求。