相比kylin | 银河麒麟系统系统端,Windows系统端的配置要简单一些。
Windows系统端 访问 Linux(银河麒麟)系统端Samba 共享资源,是通过 Windows中的SMB。
Windows中的SMB的全称是Server Message Block(服务器消息块),它是一种用于计算机间共享文件、打印机等资源的网络协议。
1 查看kylin| 银河麒麟系统系统端共享信息
我们可以先使用
net view \\kylin系统电脑ip地址
或
net view \\kylin系统电脑ip地址\
命令来查看kylin系统电脑的共享资源。
PS C:\Windows\system32> ++net view \\10.176.11.84\++
在 \\10.176.11.84\ 的共享资源
gxxc-CE3000F server (Samba, Ubuntu)
共享名 类型 使用为 注释
Generic-Text-Only Print Generic Text-Only
Generic-Text-Only-2 Print 局办konica
oa Disk Kylin Samba Readonly (Need Password)
Ricoh-IM-C3500 Print Ricoh IM C3500
命令成功完成。
PS C:\Windows\system32> ++net view \\10.176.11.84++
在 \\10.176.11.84 的共享资源
gxxc-CE3000F server (Samba, Ubuntu)
共享名 类型 使用为 注释
Generic-Text-Only Print Generic Text-Only
Generic-Text-Only-2 Print 局办konica
oa Disk (UNC) Kylin Samba Readonly (Need Password)
Ricoh-IM-C3500 Print Ricoh IM C3500
命令成功完成。
PS C:\Windows\system32>

在共享资源中可以看到我们之前设置的oa。
2 访问kylin| 银河麒麟系统系统共享文件的方法
开始-运行,输入 \\kylin系统电脑ip地址\公享名称

会弹出Windows 安全中心对话框,提示输入访问资源所需要的用户名和密码:

输入用户名和密码后,最好把"记住我的凭据"钩上,确定。
为了方便以后访问kylin系统电脑公享资源,我们可以在Windows系统电脑桌面新建一个快捷方式,并按系统提示来操作:


这是我们就在桌面创建了一个名为oa的快捷方式:

我们也可以使用net use 将kylin系统电脑公享资源映射为一个磁盘,例如o盘。
PS C:\Windows\system32> ++net use o: \\10.176.11.84\oa++
命令成功完成。
PS C:\Windows\system32>

这样,我们就把kylin系统电脑公享资源映射O盘。
3 禁用 Windows系统端的SMB 1.0
Windows中的SMB 有1.0、 2.0 和 3.0 三个版本,其中SMB 1.0 存在安全漏洞,仅在访问老旧 Samba 设备时启用;若 Linux 系统端Samba 支持 SMB 2.0/3.0,完成访问后建议禁用 SMB 1.0,仅保留高版本协议以提升安全性。
3.1 检查Windows系统端 SMB的状态
3.1.1 检查Windows系统 SMB客户端功能状态
以管理员打开PowerShell,使用命令:Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
PS C:\Windows\system32> ++Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol++
FeatureName : SMB1Protocol
DisplayName : SMB 1.0/CIFS 文件共享支持
Description : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
RestartRequired : Possible
State : Disabled
CustomProperties :
ServerComponent\Description : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
ServerComponent\DisplayName : SMB 1.0/CIFS 文件共享支持
ServerComponent\Id : 487
ServerComponent\Type : Feature
ServerComponent\UniqueName : FS-SMB1
ServerComponent\Deploys\Update\Name : SMB1Protocol
PS C:\Windows\system32>

命令返回信息中的State说明了Windows系统 SMB客户端的功能状态。
State : Enabled → 已开启
State : Disabled → 没开启
3.1.2 检查Windows系统 SMB 服务器端各版本的状态
检查SMB服务端1.0版本状态使用命令:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
检查SMB服务端2.0和3.0版本状态,使用命令:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
这是由于SMBv2 和 SMBv3 共用同一协议栈。
PS C:\Windows\system32> ++Get-SmbServerConfiguration | Select EnableSMB1Protocol++
++EnableSMB1Protocol++
False
PS C:\Windows\system32> ++Get-SmbServerConfiguration | Select EnableSMB2Protocol++
++EnableSMB2Protocol++
True
PS C:\Windows\system32> ++Get-SmbServerConfiguration | Select EnableSMB3Protocol++
++EnableSMB3Protocol++
PS C:\Windows\system32>

返回 True 表示已启用,False 表示已禁用。
从命令返回信息看,Windows系统 SMB 服务器端 1.0未开启,2.0和3.0处于开启状态。
3.2 查看Windows系统端访问所用的SMB 版本
我们可以在PowerShell中使用Get-SmbConnection命令来查看当前访问Linux 系统端Samba共享资源 所用的SMB 版本。
PS C:\Windows\system32> ++Get-SmbConnection++
ServerName ShareName UserName Credential Dialect NumOpens
10.176.11.84 oa DESKTOP-G1M3K3V\hzb DESKTOP-G1M3K3V\hzb 3.1.1 2
PS C:\Windows\system32>

3.3 禁用 SMB 1.0
如果SMB 1.0处于启用状太态,那么我们可以管理员打开PowerShell,使用命令:
PS C:\Windows\system32> ++Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart++
Path :
Online : True
RestartNeeded : False
PS C:\Windows\system32> ++Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force++
PS C:\Windows\system32>

4 清除 Windows 保存的网络 / 共享访问凭证
如果我们不想再在Windows系统端访问Linux(银河麒麟)系统端Samba 共享资源,出于安全考虑,建议清除 Windows 保存的网络 / 共享访问凭证。
清除 Windows 保存的网络 / 共享访问凭证,最稳妥的是操作步骤是:先断连接、再删凭据、最后清缓存、重启 SMB 服务**。**
4.1 断开连接
使用命令 net use * /delete /y
PS C:\Windows\system32> ++net use * /delete++
你有以下的远程连接:
Z: \\10.176.11.84\oa
\\10.176.11.84\oa
继续运行会取消连接。
你想继续此操作吗? (Y/N) [N]: y
命令成功完成。

4.2 删除凭据
列出所有保存的凭据(找目标 IP/服务器): cmdkey /list
PS C:\Windows\system32> ++cmdkey /list++
当前保存的凭据:
目标: MicrosoftAccount:target=SSO_POP_User:user=purpleendurer@hotmail.com
类型: 普通
仅为此登录保存
目标: LegacyGeneric:target=MicrosoftAccount:user=purpleendurer@hotmail.com
类型: 普通
本地机器持续时间
目标: LegacyGeneric:target=MicrosoftOffice15_Data:live:cid=c*******
类型: 普通
本地机器持续时间
目标: WindowsLive:target=virtualapp/didlogical
类型: 普通
用户: 0*******
本地机器持续时间
目标: LegacyGeneric:target=OneDrive Cached Credential
类型: 普通
用户: c214a0ba536a42c7
本地机器持续时间
目标: Domain:target=10.176.11.84
类型: 域密码
用户: hzb

4.3 删除指定目标
删除指定目标(kylin系统电脑ip地址)命令格式:cmdkey /delete kylin系统电脑ip地址。
PS C:\Windows\system32> ++cmdkey /delete:\\10.176.11.84++
CMDKEY: 找不到元素。
PS C:\Windows\system32> ++cmdkey /delete \\10.176.11.84++
CMDKEY: 找不到元素。
PS C:\Windows\system32> ++cmdkey /delete hzb++
CMDKEY: 找不到元素。
PS C:\Windows\system32> ++cmdkey /delete \\10.176.11.84++
CMDKEY: 找不到元素。
PS C:\Windows\system32> ++cmdkey /delete 10.176.11.84++
CMDKEY: 成功删除凭据。

如想一次性删除所有网络凭据,可以使用命令(要谨慎): cmdkey /delete:*
4.4 清除 Kerberos 票据缓存
使用命令 klist purge,可以 清除 Kerberos 缓存,避免旧票据干扰。
PS C:\Windows\system32>++klist purge++
当前登录 ID 是 0:0xeaecf
删除所有票证:
已清除票证!
PS C:\Windows\system32>

重启SMB 服务
使用 Restart-Service LanmanWorkstation -Force 命令。
PS C:\Windows\system32> R++estart-Service LanmanWorkstation -Force++
PS C:\Windows\system32>
