【已解决】“\\wsl.localhost\Ubuntu-22.04\root无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。试图访问无效的地址”的解决方法

【已解决】“\\wsl.localhost\Ubuntu-22.04\root无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。试图访问无效的地址”的解决方法

【已解决】“\\wsl.localhost\Ubuntu-22.04\root无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。试图访问无效的地址”的解决方法

当你在 Windows 系统中装好了 WSL Ubuntu(我的电脑上装的是Ubuntu-22.04) 系统,准备打开 \\wsl.localhost\Ubuntu-22.04\root的时候,可能会遇到这样的报错:

\wsl.localhost\Ubuntu-22.04\root 无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。
试图访问无效的地址。
\wsl.localhost\Ubuntu-22.04\root 无法访问


本文将详细介绍这个问题的解决方法。

文章目录


1 问题出现的原因

WSL Ubuntu 在你安装的时候就让你创建一个非 root 但是有管理员 (sudo) 权限的用户(首次启动Ubuntu时,会要求你创建一个账号并设置密码,我当时设置的账号名叫ydy):

Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: yangdanyang New password: # 你输入的时候会隐藏密码 Retype new password: # 你输入的时候会隐藏密码 passwd: password updated successfully Installation successful! To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root"for details. 

这个用户只有用 sudo 执行命令时才具备管理员权限(例如,sudo apt install 和 apt install 的区别),直接执行命令(比如你想要访问 /root文件夹)并不会具有管理员权限。
Windows 资源管理器中映射的 Linux 根文件系统是以你创建的普通账户ydy)的权限来的。一般情况下,/root只能由 root 用户自己来访问,除此之外 root 用户也可以访问其他用户的主文件夹。但普通用户(就是你自己创建的那个账号ydy)只有自己的主文件夹有全部访问权限,其他用户的主文件夹均没有访问权限,所以在你自己创建的那个普通账户下,你当然是无法访问 /root目录的。所以一般用户(比如管理实验室的服务器,虽然实验室的服务器一般用的都是独立的 Linux 系统而不是 WSL2)都应该进自己的家目录,比如:

\\wsl$\Ubuntu-22.04\home\<你的Linux用户名>\ 

如果确实想要访问/root目录,要么在 Linux 中使用 sudo ;要么直接用 root 用户进行访问( root 用户需要先用 sudo passwd 命令修改密码,然后才能用 su 命令切换,默认状态的 root 用户使用的是随机密码);要么切换默认登录账户为 root 用户才能在 Windows 映射的 Linux 磁盘中访问/root等目录。
本文要介绍的就是最后一种,也是可以“一劳永逸”的做法:切换默认登录账户为 root 用户


2 【推荐】最快解法:切换默认登录账户为 root 用户

打开 Windows PowerShell 终端(最好以管理员身份运行)或者 Ubuntu-22.04 终端,执行:

(base)PS C:\WINDOWS\system32> ubuntu2204.exe config --default-user root # 或者 ubuntu2204 config --default-user root

注意:如果你的 Ubuntu 系统是其他版本的,那么可执行程序名需要相应更改。

查看自己的 Ubuntu 系统的方法:打开 Windows PowerShell 终端输入命令 wsl -l 或者 wsl -l -v在输出中即可看见自己安装的 Ubuntu 系统的名称:

例如,如果你的 Ubuntu 系统名称就叫 Ubuntu,那么你的命令就需要改成:

(base)PS C:\WINDOWS\system32> ubuntu.exe config --default-user root # 或者 ubuntu config --default-user root

如果接下来要求你输入账号和密码,就将你之前创建的那个账号(我的是 ydy)登录(输入账号和密码,密码在输入时会隐藏)。

此时打开资源管理器窗口,就能正常访问 /root 了:

切换默认登录账户为 root 用户后,可以成功访问 root 文件夹


此时如果打开 Ubuntu-22.04 终端,也会发现默认用户已经从 ydy 变成了 root

root@(你的计算机名):~#

下次登录 WSL Ubuntu 时,你的默认登录用户也会是 root,这样一直都可以访问 /root文件夹了。


网上还有一些其他方法,我没有尝试过,毕竟第 2 章中所述的切换默认登录账户为 root 用户的方法已经可以方便而且“一劳永逸”地解决这个问题了,而且一些乱改权限的方法还有安全问题。推荐就用第 2 章中所述的切换默认登录账户为 root 用户的方法
希望这篇文章能够对你有所帮助!


参考资料

  1. win11的WSL2安装了Ubuntu22.04\root无访问权限,该怎么办?
  2. 手把手教你Ubuntu更改启动默认用户的方法

Read more

Flutter 三方库 at_server_status 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、实时的 @protocol 去中心化身份服务器状态感知与鉴权监控引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 at_server_status 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、实时的 @protocol 去中心化身份服务器状态感知与鉴权监控引擎 在鸿蒙(OpenHarmony)系统的隐私保护应用、去中心化身份管理工具(基于 @protocol 协议)或需要实时监控全球分布式节点健康状况的场景中,如何判定一个 @sign(电子签名标识)背后的 Root 服务器或 Secondary 服务器是否在线、配置是否由于由于由于由于已就绪?at_server_status 为开发者提供了一套工业级的、基于协议栈的状态审计与自检方案。本文将深入实战其在鸿蒙 Web3 身份安全底座中的应用。 前言 什么是 atServer Status?它是 @protocol(一种旨在让用户完全掌控数据的去中心化协议)官方生态的核心组件。

By Ne0inhk
Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案

Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案 前言 在鸿蒙(OpenHarmony)生态向金融科技、Web3.0 以及受控安全办公领域深耕的过程中,“密钥管理(Key Management)”是所有信任链条的起点。面对“如何将助记词(Mnemonic)安全地转化为可用于签名的私钥”、“如何兼容 Polkadot/Substrate 这种具备高阶加密特性的异构账本协议”这些硬核问题,传统的 crypto 库往往力有不逮。 我们需要一种工业级、符合现代跨平台密码学标准(BIP39/Ed25519)的加密底座。 substrate_bip39 是基于 Substrate 框架裁剪出的高性能密钥派生引擎。

By Ne0inhk
Flutter for OpenHarmony:json_path 像 XPath 一样查询 JSON 数据,复杂结构再也不怕(数据提取神器) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:json_path 像 XPath 一样查询 JSON 数据,复杂结构再也不怕(数据提取神器) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 处理深层嵌套的 JSON 数据是开发者的噩梦。当你需要从一个复杂的 API 响应中提取特定条件的字段时,手写多层 map() 和 if 判断简直是灾难。 json_path 实现了 RFC 9535 标准,允许你使用类似 XPath 的语法来查询 JSON。本指南将结合 OpenHarmony 示例,展示如何优雅地进行数据提取。 一、 核心原理解析 json_path 的核心在于声明式查询。你只需要描述「我要什么」,而不需要关心「怎么遍历」。 * $: 根节点。 * …: 递归搜索(查找任意层次的字段)。 * [*]: 匹配数组中的所有元素。 * [?(@.condition)]: 过滤器(筛选符合条件的项)。 二、 核心 API

By Ne0inhk
手机秒变 Linux 控制台?JuiceSSH +cpolar 让远程运维不再受限于工位

手机秒变 Linux 控制台?JuiceSSH +cpolar 让远程运维不再受限于工位

JuiceSSH 是一款专为安卓设备设计的终端工具,核心功能是支持 SSH/SCP 协议,能让手机或平板直接连接服务器、虚拟机进行操作。它的图形化界面简化了复杂的命令行操作,自定义快捷键和配置文件功能也让重复连接更高效。适用人群很广:IT 运维人员需要随时处理服务器问题,开发者想远程调试代码,甚至家庭用户想管理内网 NAS,都能用到它。优点在于极强的移动性,打破了 “必须坐在电脑前” 的限制,操作门槛也低,新手也能快速上手。 使用 JuiceSSH 时,有几个小细节值得留意:首次连接陌生服务器时,记得确认密钥指纹避免安全风险;建议把常用服务器的配置保存起来,下次连接直接调用,省得重复输入地址和密码;如果经常传文件,SCP 功能比单纯的 SSH 命令更直观,拖拽操作就能完成文件传输。 不过,JuiceSSH 默认只能在局域网内发挥作用,这带来不少麻烦。比如出差时突然收到服务器报警,却因为不在公司内网连不上;家里的树莓派出了问题,人在外面只能干着急;团队协作时,想让同事临时查看服务器状态,却因为不在同一局域网而无法共享连接。 而当

By Ne0inhk