㈠ WSL2与Windows间的网络互访
我的WSL2使用的是ubuntu 20.04.2.LTS, Windows是10专业版 Build: 19043.1526。本文只讨论应用级别通过网络互相访问的问题,不涉及文件互访。
由于多物理网卡,虚拟机网卡等原因,Windows会有多个IP Address,我们需要找出能与WSL2连同的那个。
启动WSL2,键入如下命令:
输出中nameserver 后面的地址即是我们要找的地址。
如:
172.27.160.1 就是我们要找的Windows的IP Address,后面会以 <win-ip> 引用
启动WSL2,键入如下命令:
输出举例:
172.27.170.146 就是我们要找的WSL2的IP Address,后面会以 <wsl-ip> 引用
默认情况下Windows的防火墙会阻止WSL2中应用对Windows的网络访问(see: Add "allow" rule to Windows firewall for WSL2 network · Issue #4585 · microsoft/WSL (github.com) ),解决办法是添加一条防火墙规则允许WSL2对Windows的访问。请以管理员身份打开PowerShell并键入以下命令:
输出举例:
命令成功执行后,我们会在Windows的防火墙高级设置的入站规则里会看到一条名为 WSL 的新规则:
以上配置好后,我们就可以在WSL2中通过 <win-ip> 和 <端口> 访问Windows中的应用程序。
我们可以在Windows中通过 <wsl-ip> 和 <端口> 访问WSL2中的应用程序。
㈡ 最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
以管理员运行Powershell(开启WSL,如已开启可跳过)
WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。
WSL2相比WSL1来说可以完美支持Docker。与WSL1的模拟Linux API不同的是,WSL2采用在Hyper-V虚拟机中运行的方案。可以说WSL2和原汁原味的Linux已经十分接近
不支持Docker的守护进程,但您可以使用 Docker CLI 连接到通过 Docker for Windows 或您创建的任何其他VM 运行的远程Docker守护进程
不能完全兼容systemctl, systemd等等,IO速度相对原生Linux也是大打折扣,在编译和解压方面可以很深体会到。毕竟不是真正的Linux,而是挂在Windows NT内核之上的仿Linux 系统
由于WSL 还不是原生的Linux,所以需要借助 Docker for Windows 来实现Docker(Docker for Windows 是基于Hyper-V 技术)
另外一种方式是,在WSL1中安装docker 客户端,连接 docker server, 来解决在WSL1上使用docker 的问题。(PS: Win10 的Linux 子系统是装不了 docker (服务端)的,但是可以安装客户端)
参考
WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 systemctl、systemd,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的
如果发现VERSION为1,说明Ubuntu运行在WSL1下,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。
wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose
具体步骤参考 : https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能
wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version <Distro> <Version>
启用WSL后,通过 wsl$ 可以访问WSL文件
最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的差异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的
升级到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接运行在Linux 内核上了
通过如下设置,Docker Desktop就和WSL2分发版本进行了集成,无需在WSL中安装docker; 当然,也可以选择不与Docker Desktop集成,直接在WSL 中运行docker 容器。
启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理
安装docker后,docker会自动创建2个发行版:
WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中
通过 WSL 2 集成,您仍然可以体验到与 Windows 的无缝集成,但在 WSL 中运行的 Linux 程序也可以执行相同的操作。这对于从事面向 Linux 环境的项目或为 Linux 量身定制的构建过程的开发人员产生了巨大影响。不再需要维护 Linux 和 Windows 构建脚本!例如,Docker 的开发人员现在可以在 Windows 上的 Linux Docker 守护程序上工作,使用与 Linux 计算机上的开发人员相同的工具和脚本集:
注:WSL2 Docker最爽的地方是和宿主机Win10共享network,我们在宿主机Win10使用localhost加端口号就可以访问Docker中对应container中的服务,十分方便
wsl #启动
wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2
启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程
访问wsl 文件
卸载发行版
有时候某个Linux发行版不再使用,或者是环境被搞坏需要重装,这时候我们可以卸载掉这个Linux发行版。方法如下。
㈢ win10系统windows无法访问指定设备、路径或文件,你可能没有适当权限
这个问题一般都是存储盘没有获得权限导致的,解决方法如下。
1、首先在按键盘上的“Windows+A”打开“通知”中心,点击如图所示的提示信息进入Windows安全中心界面。
㈣ 使用wsl2 安装mysql,并通过windows连接
1、执行 sudo apt install mysql-server 安装mysql-server。 本文mysql-server的版本是8.0
安装过程中会提示设置root密码,按照提示输入即可
2、验证安装 mysql -u root -p
3、修改root用户的远程访问权限 update user set host='%' where user='root';
4、刷新权限表 FLUSH PRIVILEGES;
5、重启mysql 服务
vi /etc/mysql/mysql.conf.d/mysqld.cnf
参考连接 WSL2 配置及ubuntu18.04安装mysql8.0+
㈤ 如何设置电脑访问权限
1、首先点击电脑桌面左下角的windows图标,在弹出来的选项里面点击右侧头像进入。
㈥ 怎么获得Win10 WindowsApps文件夹访问权限
获得Win10 WindowsApps文件夹访问权限的方法:
工具/材料
win10 系统电脑
步骤/方法
①首先设置显示隐藏文件夹,然后打开C:Program Files文件夹,在WindowsApps文件夹单击鼠标右键,菜单中选择“属性”。然后在WindowsApps属性对话框,安全选项卡下,点击“高级”如图:
㈦ Win10系统如何给用户分配访问权限
具体方法:
1、我们先使用主账号登入系统,依次点“开始菜单-设置-账户-家庭和其他用户”。
2、找到并点击“将其他人添加到这台电脑”(如果想设置已有用户的访问权限,直接点击,跳过2、3步,)。
3、设置“此人将如何登入”,在空白框内填入手机号码或者邮箱,点击下一步。
4、 添加并验证完成后,专用账户就算添加完成了,先把刚创建好的专用账户登入一次,待里面设置加载完成后切换回主账号。
5、重新打开“家庭和其他用户”,然后点击“设置分配的访问权限”。
6、然后给该账户选择一个可访问的应用。
7、这样就设置完成了,只要使用这个专用账号登入,打开后只会弹出之前所设置的应用。
㈧ Windows权限
在Windows中,权限指的是不同账户对文件、文件夹、注册表等的访问能力。在Windows中,为不同的账户设置权限很重要,可以防止重要文件被其他人所使用、修改而造成信息泄露或安全问题。
NTFS(New Technology File System)是Windows NT操作环境和Windows NT高级服务器网络操作系统环境的文件系统。NTFS取代了文件分配表(FAT)文件系统,为Microsoft的Windows系列操作系统提供文件系统。NTFS对FAT和HPFS(高性能文件系统)做了若干改进,例如,支持元数据,并且使用了高级数据结构,便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能,如访问控制列表(ACL)和文件系统日志。
在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。许可的设置包括两方面的内容:一是允许哪些组或用户对文件夹、文件和共享资源进行访问;二是获得访问许可的组或用户可以进行什么级别的访问。访问许可权限的设置不但适用于本地计算机用户,同样也应用于通过网络的共享文件夹对文件进行访问的网络用户。与FAT32文件系统下对文件夹或文件进行访问相比,安全性要高得多。另外,在采用NTFS格式的Windows 2000中,应用审核策略可以对文件夹、文件以及活动目录对象进行审核,审核结果记录在安全日志中,通过安全日志就可以查看哪些组或用户对文件夹、文件或活动目录对象进行了什么级别的操作,从而发现系统可能面临的非法访问,通过采取相应的措施,将这种安全降低到最低。这些在FAT32文件系统下,是不能实现的。
这里讲的Windows文件系统的权限,都是基于磁盘是NTFS格式的前提下。即磁盘必须是NTFS格式的情况下,才可以对其进行权限设置。右击,查看磁盘的文件系统格式,如图 1所示。
该权限允许用户对文件夹、子文件夹、文件进行全权控制,如修改资源的权限、获取资源的所有者、删除资源的权限等,当勾选完全控制权限之后,其他权限会自动勾选。
该权限允许用户修改或删除资源,同时让用户拥有写入及读取和运行权限。
该权限允许用户拥有读取和列出资源目录的权限,另外也允许用户在资源中进行移动和遍历,这使得用户能够直接访问子文件夹与文件,即使用户没有权限访问这个路径。
该权限允许用户査看资源中的子文件夹与文件名称。
该权限允许用户查看该文件夹中的文件及子文件夹,也允许査看该文件夹的属性、所有者和拥有的权限等。
该权限允许用户在该文件夹中创建新的文件和子文件夹,也可以改变文件夹的属性、查看文件夹的所有者和权限等。
该权限是对文件系统权限的进一步高级配置,这里不做讲解。
"拒绝优于允许原则"是一项非常重要且基础性的原则,它可以非常完美地处理好因用户在用户组的归属方面引起的权限“纠纷”,以及更加安全地管理用户权限。
在图2中可以看到,毎个权限后面都有允许和拒绝勾选框,假设一个用户Mike属于user用户组和admin用户组,user用户组对某资源性勾选了写权限允许选项,admin用户组勾选了写权限拒绝选项。那么Mike用户对这个资源是否拥有写权限呢了根据。拒绝优于允许原则。,Mike应该执行拒绝写权限。因此,不拥有写权限。
"保持用户最小的权限"作为一个基本原则执行,这一点是非常有必要的。这条原则可以确保资源得到最大限度的安全保障。这项原则可以尽量让用户不能访问或没必要访问的资源得到有效的权限赋予限制。
权限继承性原则可以让资源的权限设置变得更加简单。假设现在有个。新建文件夹目录,在这个目录中有新建文件夹A、新建文件夹B、新建文件夹C等子目录,现在需要对新建文件夹目录及其下的子目录均设置Mike用户有写入权限。因为有继承性原则,所以只需对新建文件夹目录设置Mike用户有写入权限,其下的所有子目录将自动继承这个权限的设置。
假设现在Mike用户既属于A用户组,也属于B用户组,它在A用户组的权限是读取,在B用户组中的权限是写入,那么根据累加原则,Mike用户的实际权限将会是读取+写入两种。
Administrators本地组:本地系统管理员权限组。拥有对这台计算机最大的控制权限,可以执行整台计算机的管理任务。内置的系统管理员账号Administrator就是该组的成员,而且无法将它从该组删除。如果这台计算机已加入域,则域的Domain Admins会自动加入到该计算机的Administrators组内。
Backup Operators:备份操作组。该组内的成员,不论他们是否有权访问这台计算机中的文件夹或文件,都可以通过“开始 → 所有程序 → 附件 → 系统工具 → 备份”的途径,备份和还原这些文件夹与文件。
Guests:访客用户组。该组是提供给没有用户的账户,但是需要访问本地计算机内资源的用户使用,该组的成员无法永久地改变其桌面的工作环境。该组最常见的默认成员为访客用户账号Guest。
Network ConfigurationOperators:网络配置操作组。该组内的用户可以在客户端执行一般的网络设置任务,例如更改IP地址,但是不可以安装/删除驱动程序与服务,也不可以执行与网络服务器设置有关的任务,例如DNS服务器、DHCP服务器的设置。
Power Users:高权限用户组。该组内的用户具备比Users组更多的权利,但比Adminstrators组拥有的去权利少一些,例如:
Remote Desktop Users:远程桌面用户组。该组的成员可以通过远程计算机登录,例如,利用终端服务器从远程计算机登录。
Users:普通用户组。该组用户只用户一些基本的权利,例如运行应用程序,但是不能修改操作系统的设置,不能更改其他用户的数据,不能关闭服务器级的计算机。所有添加的本地用户账户则自动属于该组。如果计算机已经加入域,则域的Domain Users会自动被加入到计算机的Users组中。
Everyone:任何一个用户都属于这个组。注意,如果Guest账户被启动时,则给Everyone这个组指派权限时必须小心,因为当一个没有账户的用户连接计算机时,他被允许自动利用Guest账户连接,但是因为Guest也属于Everyone组,所以他具备Everyone组所拥有的权限。
Authenticated Users:任何一个利用有效的用户账户连接的用户都属于这个组。建议在设置权限时,尽量针对Authenticated Users组进行设置,而针对Everyone组进行设置。
Interactive:任何在本地登录的用户都属于这个组。
Network:任何通过网络连接此计算机的用户都属于这个组。
Creator Owner:文件夹、文件或打印文件等资源创建者,就是该资源Creator Owner(创建所有者)。不过,如果创建者是属于Administrators组的成员,则其Creator Owner为Adminstrators组。
Anonymous Logo:任何未利用有效的Windows Server 2003账户连接的用户,都属于这个组。注意,在Windows 2003中,Everyone组内并不包含“Anonymous Logon”组。
IIS_WPG:IIS工作进程组。IIS WorkerProcess Group、IIS_WPG的成员具有适当的NTFS权限和必要的用户权限,可以充当IIS 6中工作进程标识。IWAM_计算机名用户通常属于该用户组。
IUSR_计算机名:通常称做“Web匿名用户”账号或“lntemet访问”账号。其中,计算机名是安装IIS时所使用的Netbios服务器名称。正如我们已经了解的那样,当IIS服务器启用匿名身份验证方式,且该服务器上存在针对特定访问请求类型具备适当NTFS权限的IUSR账号时,系统论自动对其加以应用。该用户通常属于User用户组或是Guest用户组
IWAM_账号:是安装IIS时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的Internet信息服务。该用户属于IIS_WPG用户组。
㈨ 如何设置windows 共享访问权限
设置window共享访问权限方法如下:
1、打开c盘,右键鼠标共享文件——点击共享和安全;
:
12、原则上默认的同样是读取的权限,但是我们可以自己设定权限。设置权限时,点击选中用户,然后在下面的完全控制、更改、读取设置允许和拒绝。最后点击应用并确定。