Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux root切换其他用户

Linux中root用户切换至其他用户的多种方式

作者:思静鱼

在Linux系统中,root用户是系统的超级管理员,root用户具有最高的权限,可以访问系统中的所有文件和执行所有操作,那么root用户如何切换至其他用户呢,本文将给大家介绍Linux中root用户切换至其他用户的多种方式,需要的朋友可以参考下

在 Linux 系统中,root 用户切换至其他用户有多种方式,具体方法及注意事项如下:

一、su 命令(Switch User)

1. 基本用法

su - 目标用户名

示例:切换到用户 john

su - john

特点

2. 不加载环境变量(快速切换)

su 目标用户名

区别:仅切换用户身份,不改变当前工作目录和环境变量。

二、sudo 命令(以其他用户身份执行命令)

1. 以目标用户运行单条命令

sudo -u 目标用户名 命令

示例:以用户 john 执行 whoami

sudo -u john whoami

2. 交互式切换到目标用户

sudo -iu 目标用户名

效果:等同于 su - 目标用户名,但通过 sudo 权限切换(需配置 sudoers 文件)。

三、runuser 命令(无需密码切换)

1. 仅限 root 使用

runuser -l 目标用户名 -c '命令'  # 执行单条命令
runuser - 目标用户名            # 交互式登录

特点

四、注意事项

  1. 密码要求

    • su 需目标用户密码(root 除外),sudo 需当前用户有 sudo 权限。
    • root 切换至任何用户均 无需密码
  2. 环境差异

    • 带 - 的切换(如 su - john)会加载目标用户的完整环境。
    • 不带 - 的切换(如 su john)保留当前环境变量。
  3. 权限控制

    • 普通用户无法直接切换至其他用户,除非通过 sudo 授权。
    • sudoers 文件配置示例(允许用户 alice 切换到 john):
alice ALL=(john) /bin/su

五、退出切换的用户

exit   # 或按 Ctrl+D

作用:返回原用户(如从 john 返回到 root)。

六、应用场景示例

1. 脚本中切换用户执行任务

#!/bin/bash
runuser -l john -c 'echo "Running as $(whoami)"'

2. 管理员临时调试用户环境

su - john   # 加载 john 的环境变量
cd ~/projects
./start.sh
exit        # 返回 root

总结

命令需密码加载环境适用场景
su - 用户名是(root 除外)完全切换到目标用户环境
su 用户名是(root 除外)快速切换身份
sudo -iu 用户名当前用户 sudo 密码受控权限切换(需配置 sudo)
runuser - 用户名root 在脚本中切换用户

到此这篇关于Linux中root用户切换至其他用户的多种方式的文章就介绍到这了,更多相关Linux root切换其他用户内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文