如何在Terminal中运行root/admin shell?标准权限用户切换至Admin shell方法
1. 如何在Terminal中运行root/admin shell?
不同操作系统的实现方式略有不同,我帮你分平台梳理下具体操作:
Linux/Unix类系统(如Ubuntu、Debian、CentOS等)
- 要是你已经以root身份登录了,直接输入
bash或者zsh(看你默认用的shell)就能打开root权限的shell; - 从普通用户切换的话,最常用的是
su -命令,输入后按提示输入root密码,验证通过就进入root shell了; - 另一个好用的命令是
sudo -i,它会直接加载root的环境配置,切换到完整的root登录shell,适合需要全权限环境的场景。
macOS
- 打开终端后输入
sudo -i,然后输入当前管理员账户的密码(macOS默认没有单独的root账户,管理员账户自带sudo权限),验证后就进入管理员权限的shell了; - 如果你之前专门启用了root账户(不推荐日常用),也可以用
su - root,输入root密码完成切换。
Windows(PowerShell/命令提示符)
- 最直接的方式:右键点开始菜单,选「Windows PowerShell (管理员)」或者「终端 (管理员)」,打开的窗口直接拥有管理员权限;
- 要是已经开了普通权限的终端,输入
Start-Process powershell -Verb RunAs,弹出UAC提示后确认,就能打开新的管理员PowerShell窗口。
2. 当以标准权限用户登录系统,且知晓普通用户与管理员账户密码时,如何在Terminal中以Admin身份运行shell?
这种场景核心是通过权限切换命令提升权限,分平台操作如下:
Linux/Unix类系统
- 方法一:直接提权到root:输入
sudo -i,然后输入拥有sudo权限的管理员账户密码,验证后直接进入root shell(前提是当前普通用户在sudoers列表里); - 方法二:先切换到管理员账户再提权:如果当前普通用户没有sudo权限,先输入
su - 管理员用户名,输入该管理员账户的密码进入其shell,之后再用sudo -i切换到root shell; - 方法三:仅切换到管理员账户:要是只需要管理员账户的权限而非root,直接用
su - 管理员用户名,输入对应密码即可。
macOS
- 输入
sudo -i,然后输入你知道的管理员账户密码,验证通过后就进入管理员权限的shell; - 要是想切换到特定管理员账户的shell,用
su - 管理员用户名,输入该账户密码就行,之后同样可以用sudo执行高权限操作,或者切换到root(如果启用了的话)。
Windows
- PowerShell中:输入
runas /user:管理员用户名 powershell,按提示输入该管理员账户的密码,会打开一个新的管理员身份PowerShell窗口; - 命令提示符中:输入
runas /user:管理员用户名 cmd,输入密码后打开管理员权限的命令提示符; - 另一种可视化方式:输入
Start-Process powershell -Verb RunAs -Credential (Get-Credential),会弹出对话框让你输入管理员账户和密码,确认后打开管理员PowerShell。
内容的提问来源于stack exchange,提问作者user277507
相关产品推荐
相关产品推荐

