首页/系统/Linux 运维命令速查/su 切换用户身份
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条
用户与权限44 条
日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

su 切换用户身份

su 切换用户:su - 进登录 shell 并重置环境,su 保留当前环境变量;运维中最常见的坑都在环境变量与 PATH 上。

Linux 运维命令速查系统更新于 2026-10-12
用途切换到另一个用户执行命令/shell
语法su [-] [用户名] [-c 命令]
所属util-linux

常用示例

常用示例
su - deploy                 # 登录式切换(推荐)
su - deploy -c 'whoami; pwd; echo $PATH'
su -s /bin/bash www-data    # 目标 shell 为 nologin 时强指定
root 用 su 不需要目标口令;普通用户 su 到他人需要对方密码。自动化请用 sudo 而非 su -c 免交密码。

易错点

  • 不加 - 的 su 保留当前用户环境,PATH/HOME 混乱导致「切过去命令找不到」
  • 把 su -c 写进 cron 可能因无法输入密码静默失败,改用 sudo 或直接指定任务用户

数据来源与参考

  • man 1 su(util-linux)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌