1、su 切换用户

1、su 命令

输入目标用户的密码,切换用户身份。如果不指定用户名,默认切换到 root 用户。

  • 执行su切换用户时,默认不改变当前工作目录,但会修改HOME、SHELL、USER等环境变量。
  • 若想完全模拟目标用户的登录环境(包括工作目录和环境变量),建议使用su -或su -l命令。该命令还支持-c选项,允许执行单条命令后立即恢复原身份。

语法: 

su [选项] [用户名] [参数]

 

例子:

# 基本切换
su                # 切换到root,不改变工作目录和环境变量
su -              # 切换到root,并加载目标用户的环境变量
su username       # 切换到指定用户

# 高级选项
su -c "command"    # 以目标用户身份执行单条命令
su -s /bin/bash    # 指定使用的shell
su -m              # 保留当前环境变量不变
greatwall@greatwall-pc:~/test$ su root -c "echo hello"         # 以root用户身份执行echo 命令
输入密码               # 输入root用户的密码
hello

sudo 与 su 的密码区别

命令功能简介需要输入的密码
sudo <命令> 以其他用户的权限执行命令 当前用户的密码
su - root 切换用户身份 目标用户(如 root)的密码

简单来说,sudo 验证的是“你是谁”(当前用户),而 su 验证的是“你想变成谁”(目标用户)。

posted @ 2025-11-17 13:45  chao_xiong  阅读(25)  评论(0)    收藏  举报