Linux上普通用户切换ROOT用户

[复制链接]
发表于 2026-10-6 10:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Linux 是多用户系统,日常用普通账户登录,遇到要改配置、装软件、动系统目录的操作才需要 root 权限。这里把普通用户切到 root 的几种方式一次讲清楚:su 命令怎么用、跟 sudo 有什么区别、切换之后提示符为什么会变,以及用完怎么退回来。

su 是什么

su 全名 Switch User,作用就是切换当前会话身份。不带参数直接敲 su,默认切到 root;带用户名则是切到那个用户。

su

回车之后系统会要求输入 root 的密码,输对了就完成切换。

推荐写法:su - 而不是裸 su

这是个容易忽略但影响很大的细节。su 和 su -(注意横杠)行为不一样:

命令环境变化适用场景
su只切身份,环境变量、工作目录沿用原来用户的临时执行一条命令
su -完整加载 root 的环境,回到 root 家目录要长时间以 root 身份操作

实际排障时差别很明显:su 之后你可能还在普通用户的家目录下,ls 看到的是自己的文件;而 su - 直接进 /root,配置文件路径也对得上。多数手册里说的"切到 root"默认指 su -。

切换成功的标志

密码输对之后,终端提示符会从普通用户的结尾符号变成 #:

# 切换前(普通用户)
[user@server ~]$

# 切换后(root)
[root@server ~]#

看到 # 就说明已经是 root 身份了。此时你对系统里几乎所有文件和设置都有完全访问权限,包括删除、改权限、重装系统组件。

用完记得退回来

完成需要 root 权限的操作后,及时退出 root 回到普通用户:

exit

如果你是从普通用户 su 到 root 的,在 root 下执行 exit 会退回到切换前那个普通账户;多层嵌套的话,多敲几次就一层层退回去了。这一点在做多节点操作时尤其要养成习惯——长时间挂着 root 会话,一个 rm -rf 敲错就是整台机器。

su 和 sudo 怎么选

很多新手会问:既然能 su,为什么还有 sudo?两者定位和风险完全不同:

  • su 是全量切换。拿到 root 后可以做任何事,包括删库跑路;密码是 root 自己的,出了问题不好追到人。
  • sudo 是按需提权。普通用户在自己会话里,只对单条命令临时提权,还能按命令粒度授权给不同人。
# 单条命令提权,输自己的密码即可
sudo systemctl restart nginx

# 以指定用户身份跑一条命令
sudo -u 用户名 命令

生产环境的一般做法:日常登录一律普通用户,需要装服务、改系统配置时前缀 sudo;确实要进入 root 环境再 su -,并且用完立刻 exit。多人共用一台跳板机的情况下,sudo 的审计能力比 su 更实用。

切不进去时的排查

  • 提示"密码不正确"。先确认你输的是 root 的密码而不是自己账户的密码;另外 Linux 下输入密码默认不显示任何字符,看着像没反应其实已经在输。
  • 提示用户不存在。说明目标用户被删了或者名字拼错,/etc/passwd 里能查到全量账号列表。
  • root 被禁用登录。部分安全加固的发行版默认禁 root 直登,只能走 sudo,这时 su 就会失败,属于预期行为。
  • 切进去马上掉出来。检查 /etc/pam.d/ 下的相关限制,或者该账户是否被设了过期时间。

qidao123.com企服评测-应用市场 编辑提示

本文由齐道123 IT 运维社区整理,说明 Linux 下普通用户切换 root 的常用方式与 su / sudo 的取舍。请仅在自己拥有或已获授权的机器上操作系统账户,切换 root 后请勿执行未经确认的删除、格式化或批量变更操作;多人共用环境时建议优先使用 sudo 按需提权并保留操作记录。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表