WSL2下Arch Linux无法从普通用户切换回root的问题求助
在WSL2 Arch Linux中无法切换root或使用sudo的解决方案
问题背景
刚在WSL2上部署Arch Linux,此前主要使用Ubuntu 18.04,习惯以普通用户身份操作,通过sudo获取权限安装软件。本次操作流程:
- 以root身份创建普通用户
gwen并设置密码:[root@DESKTOP-ROOSFVQ ~]# useradd -m gwen [root@DESKTOP-ROOSFVQ ~]# passwd gwen New password: Retype new password: passwd: password updated successfully - 安装
vim后,修改/etc/wsl.conf设置默认登录用户为gwen:[user] default=gwen - 重启后默认登录
gwen,执行pacman -S git时提示无root权限,尝试切换root或使用sudo均失败:[gwen@DESKTOP-ROOSFVQ ~]$ pacman -S git error: you cannot perform this operation unless you are root.[gwen@DESKTOP-ROOSFVQ ~]$ su Password: su: Authentication failure[gwen@DESKTOP-ROOSFVQ ~]$ sudo su bash: sudo: command not found
解决步骤
1. 临时以root身份进入WSL2
在Windows的CMD或PowerShell中执行:
wsl -u root
无需密码即可直接切换到Arch的root环境。
2. 为root设置密码
进入root后,执行以下命令设置root密码:
passwd root
按照提示输入并确认新密码,之后即可通过su命令从普通用户切换回root。
3. 安装sudo并配置普通用户权限
首先安装sudo工具:
pacman -S sudo
然后使用visudo编辑sudo配置文件(该命令会自动检查语法,避免配置错误):
visudo
找到root ALL=(ALL) ALL这一行,在其下方添加:
gwen ALL=(ALL) ALL
保存并退出编辑器(vim中按Esc,输入:wq回车)。
4. 验证配置
执行exit回到普通用户gwen,测试sudo功能:
sudo pacman -S git
若能正常执行安装操作,说明配置生效。后续即可像使用Ubuntu一样,通过sudo获取权限执行需要root权限的命令。
内容的提问来源于stack exchange,提问作者Gwen
相关产品推荐
相关产品推荐

